|
constchar*,charconst*,char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的TheC++ProgrammingLanguage里面给出过一个助记的方法: 把一个声明从右向左读。 char*constcp;(*读成pointerto cpisaconstpointertochar constchar*p; pisapointertoconstchar; charconst*p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。 C++标准规定,const关键字放在类型或变量名之前等价的。 constintn=5; //sameasbelowintconstm=10; constint*p;//sameasbelow const(int)*pintconst*q;//(int)const*p char**p1; //pointertopointertochar constchar**p2; //pointertopointertoconstchar char*const*p3; //pointertoconstpointertochar constchar*const*p4; //pointertoconstpointertoconstchar char**constp5; //constpointertopointertochar constchar**constp6; //constpointertopointertoconstchar char*const*constp7; //constpointertoconstpointertochar constchar*const*constp8; //constpointertoconstpointertoconstchar |
8233

被折叠的 条评论
为什么被折叠?



