C++ 3d.Комментарии

7b6e9298

Выражения


То есть "если нечто можно понять как объявление, это и есть объявление".

Т.к. сложные объявления C++ могут быть непонятны даже неновичку, стоит прокомментировать приведенные в книге объявления. Неочевидность всех приведенных примеров основана на добавлении лишних скобок:



T(*e)(int(3)); эквивалентно T* e(int(3)); То, что инициализация указателя с помощью int запрещена, синтаксичестим анализатором не принимается во внимание: будет распознано объявление указателя и выдана ошибка.
T(f)[4]; эквивалентно T f[4];
T(a); эквивалентно T a;
T(a)=m; эквивалентно T a=m;
T(*b)(); объявление указателя на функцию.
T(x),y,z=7; эквивалентно T x,y,z=7;



Содержание раздела