How does #define work in C++ : <pre><code>#include &lt;iostream&gt;
using namespace std;

#define squareOf(x) x*x

int main() {
// your code goes here
int x;
cout&lt;&lt;squareOf(x+4);
return 0;
}
</code></pre>

<p>I thought the answer would come as 16 but it came out as 4. 
I am confused how does this works. </p>
