<p>I've noticed, using visual studio 2003, that I can "comment out" my comments to make them no longer be comments. This one needs an example:</p>

<p>If I have:</p>

<pre><code>/*
int commented_out = 0;
*/
</code></pre>

<p>I can comment out the /* and */ with // and code within the /* and */ is no longer "commented out" (the text changes to non-comment color <strong>and</strong> the compiler treats it as code once again). Like so:</p>

<pre><code>///*
int commented_out = 0;
//*/
</code></pre>

<p>I've found this is true for msvc 2003, is this normal C++ behavior or is it just a fluke that works with this compiler?</p>

It should work in any compiler as the
```
//
```
is encountered first in the input stream.
I tend to use
```
#if 0
```
for this sort of stuff and change it to
```
#if 1
```
to uncomment, shown here:
```
```
#if 0
    int commented_out = 0;
#endif
```
```
Then I don't have to worry about comment markers at all.