const string* p和String * const p
来源:百度知道 编辑:UC知道 时间:2024/05/22 23:52:02
如题,它们是一样的吗?
各代表什么意思?
请把要复制粘贴别人的文章,谢谢
各代表什么意思?
请把要复制粘贴别人的文章,谢谢
事实上这个概念谁都有只是三种声明方式非常相似很容易记混。
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。
(1)string* const cp; ( * 读成 pointer to )
cp is a const pointer to string
(2)const string* p;
p is a pointer to const string;
(3)stringconst * p;
同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。
定义指针时
const string* p
const 在 * 左边,说明定义的是指向常量的指针
就是说 不允许 通过 p 赋值
String * const p
const 在 * 右边,说明定义的是常指针
就是说 p 不允许 再指向别处
const string* p和String * const p 不一样:
const string *p,是说*p可以改变,但是指向的字符串不能变
string *const p ,是说p不能变,但是string可以变
比如:
char * const p ;
p++ 不可以,因为你改变了P
const char *p;
p++ //可以
const int *p和 int const *p有区别?
char *const p;与 const char * p;的区别
定义函数时const string& s1,const string& s2在什么情况下使用
const char星P是什么意思?
const int *p和int * const a声明有何不同?
关于const
RegisterStartupScript(string, string)
BOOL STTST_RegisterCommand(const char *const token_p,
C++ const int my_fn(int) const;
const与static