c++ int * const p=&a 是什么含义
来源:百度知道 编辑:UC知道 时间:2024/07/04 23:31:14
int * const p=&a
请各位解释下
最好有代码例
请各位解释下
最好有代码例
这个语句说明 p的值是不可更改的,即类似于p++, p--之类的操作都不允许,但是 p指向的对象是可以被改变的,即a的值是可以通过 p更改的
示例:
#include <iostream>
using namespace std;
void main()
{
int a = 10;
int * const p = &a;
//下面这个语句是错误的
p++;
//下面这个语句是正确的
*p = 11;
cout << "a的值是 " << a << endl;
}
将会输出“a的值是 11”
int * const p=&a;
p是指向a的常指针,p不允许再被赋值,指向别处
int b = 123;
p=&b; //不允许
*p=123; //允许
表明定义了一个常量,这个常量是一个int指针类型,这个指针指向一个int类型的变量,这个变量是a
p为常指针 指向 a 的地址 const 放在p前方 说明 p 所指向的地址是固定的 它只能指向这个地址单元 但是此地址内存放的数据可以改变 如果const放在*前方就说明p所指向的数据不能改变 但是地址可以改变 具体看const的位置
定义了一个指针常量p,并且把变量a的地址赋给指针p,由于定义的是指针常量,所以指针p的值不能改变,也就是说p指向的地址不能改变,只能指向变量a
这个是指针常量,代表p指向a所在的地址,况且p不能被指向别的地方...
C++ const int my_fn(int) const;
const int& value解释
const static int
关于extern const int
const int *p和 int const *p有区别?
int sprintf (char * szBuffer, const char * szFormat, ...)
int *const &x与int *&x的区别是什么
const int *p和int * const a声明有何不同?
const int a = 10 和 int const a = 10有什么区别?
C++中,int length() const;和const int length();有什么区别?