c++11 - auto with const_cast reference behaves strange -
can me understand "weird" behavior? playing around c++11 after long pause in c++ programming. why works fine until use auto? static void printit(int a,const int *b, const int &c) { std::cout << "\narg1 : " << << "\narg2 : " << *b << "\narg3 : " << c << std::endl; } int main() { int myvar { 0x01 }; const int *pmv { &myvar }; const int &rmv { myvar }; printit(myvar,pmv,rmv); //ok prints 1,1,1 *(const_cast<int *>(pmv)) = 0x02; //remove constness pmv , sets new value printit(myvar,pmv,rmv); //ok prints 2,2,2 (const_cast<int &>(rmv)) = 0x03; //remove constness rmv , sets new value printit(myvar,pmv,rmv); //ok prints 3,3,3 myvar = 0x04; printit(myvar,pmv,rmv); //ok prints 4,4,4 //so far good... auto = const_cast<int *>(pmv); //creates new variable of type int * *a = 0x05; printit(myvar,a,rmv...