Const 关键字 与指针

星期一 天气:晴
 
使用指针 会涉及到两个对象 一个是指针本身,另一个是它指向的对象.
将指针声明为 const 就使对象为常量而不是指针为常量;
例如:
const char* p = "asdf"; //指向常量的指针
p[2] = ‘d’;  // wrong
p = "defc"; //right
 
要把指针本身而不是它指向的对象声明为常,要运用 运算符 *const
 char *const p = "asdf"; //常量指针
p[2] = ‘d’;  // 正确
p = "defc"; //错误
 
要使两个对象都是常量,二者都要声明为const;
const char *const p = "asdf"; //指向常量的常指针
p[2] = ‘d’;  // wrong
p = "defc"; //wrong
 
一对象当通过一个指针访问是常量,而用其它方法访问时可能是变量,这对于函数参数特别有用.
声明为一个const的指针参数,就禁止函数修改参数批向的对象.
char* strcpy (char* p, const char* q); //不能修改*q
Advertisements
此条目发表在C++分类目录。将固定链接加入收藏夹。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s