use*_*214 1 c++ declaration language-lawyer
什么是C++中的init-declarator和声明符之间的区别?init-declarator可能出现在init-declarator-list中.例:
int x, y, z;
Run Code Online (Sandbox Code Playgroud)
要么
int x;
int y;
int z;
Run Code Online (Sandbox Code Playgroud)
其中x,y,z可能是init-declarators或我应该说声明者?
这是语法:
init-declarator-list:
init-declarator
init-declarator-list , init-declarator
init-declarator:
declarator initializer选择
也就是说,init-declarator-list 可能包含多个变量的声明,并且init-declarator 必须包含恰好一个变量的声明.
这意味着,在您的情况下,第一个代码是init-declarator-list第二个代码是init-declarator(和init-declarator-list两个,因为init-declarator-list可能只包含一个声明).
但你怎么称呼是什么呢?在日常使用中,这种差异几乎可以忽略不计.
但是,如果您想了解编码风格,那么不同的人会以不同的方式声明变量.我见过很多优秀的程序员同时使用这两种风格.我通常在同一个声明列表中编写所有相关变量,例如
int x,y,z; //point coordinates
int height, width; //dimensions
std::string firstname, lastname; //name parts
int left, top, right, bottom; //rectangle coordinates
Run Code Online (Sandbox Code Playgroud)
如果按上述方法对它们进行分组,则只需首先识别该组,就可以更容易地理解每个变量的含义.每个声明列表只使用一个注释也更容易(就像我上面做的那样!)并且你已经完成了.它在某种程度上也有助于维护,但可能不是那么多.