Выражения
То есть "если нечто можно понять как объявление, это и есть объявление".
Т.к. сложные объявления 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; |