有人说对于声明语句中的*,[]之类的东西,要按照其作为运算符时的优先级来解释,
例如int *p[]与int (*p)[]这看起来没什么错误,并且能解决大多数问题.还有人称其为“自内向外读法”
http://topic.csdn.net/u/20120620/20/dc6b7c3c-76ec-4be0-9996-e3c1725a3c52.html?seed=1269294258&r=78929019
但有的人认为这些符号既然不是操作符,就不能按照优先级什么的来理解。于是自己写了一个c语言的大多数教材上都没有的,像是自创的规定,比如int *p[],他这样解释:对于变量名,右边与()相邻的就说明这个变量是个函数名,右边与[]相邻的就说明这个变量是一个数组名。这样就解决了这个问题。
那么我现在想弄懂的就是c++的创造者是怎么说的,是怎么规定的,到底有没有规定,如果有,为什么还有这么多人在这个本应该属于定义方面的问题上讨论?一个定义不就解决了?如果没定义这些复杂语句怎么读,那么这个c++创造者是干什么样吃的,连最基本的声明语句怎么读都不给定义,你想干什么,为了有利于c语言的自由性,所以让大家仁者见仁,智者见智?如果是这样的话,我相信他会被问候很多遍的?