C++ identifiers
c++, identifier
Solution
Nothing. The identifiers with a leading underscore followed by an uppercase letter and identifiers with two underscores are merely reserved.
Your compiler vendor might decide to use them at any time (for instance, it's perfectly fine for a compiler vendor to use _A as a keyword) and hence you should not use them. Often, the standard library is implemented using reserved identifiers, hence they do not result in a compile error.
Problem
C++ Primer says: The identifier we define in our programs may not contain 2 consecutive underscores, nor can identifier begin with an underscore followed immediately by an uppercase letter. In addition, identifiers be fined outside of a function may not begin with an underscore All is well, but ``` int _c = 55; // outside function starts with _ int main () { int _A = 12; // _ followed by uppercase letter cout << _A << endl; int __b__ =33; // 2 consecutive __ cout << __b__ << endl; cout << _c << endl; } ``` Code above compiles perfectly fine on mac, `g++ 4.7.1`, using the following flags ``` g++ -pedantic -Wall -Werror -std=c++11 -O3 -funroll-loops -fprefetch-loop-arrays ``` What am i missing please?