试题来源: 解析 答:const int * p1 是指向常量的指针,指针指向一个常量,无需初始化,指针本身可以改变,但是指针指向的值不能改变。 int * const p2是指向常量的引用,使用时必须初始化,而且初始化后,引用值不可以改变,引用的常量也不能改变。反馈 收藏 ...
const int * p1 声明了一个指向整型常量的指针p1,因此不能通过指针p1来改变它所指向的整型值;int * const p2声明了一个指针型常量,用于存放整型变量的地址,这个指针一旦初始化后,就不能被重新赋值了。 2、 解: 源程序: #include class SimpleCircle { public: SimpleCircle(); SimpleCircle(int); SimpleCi...
百度试题 题目20. const int*p1和int* const p2的区别是什么 相关知识点: 试题来源: 解析反馈 收藏
这个变量或对象不能变相当于常数,但是指针p1可以指向别的变量或对象。第二种const修饰的指针变量p2,p2是个常量,也就是一旦他指向了某个对象就不能再指向其他对象了。
const int *p1 = &sloth; int * p2 const = &sloth; 这样申明的话,不允许使用p1来修改sloth的值,但是p1可以指向其他的地址; 可以利用p2修改sloth的值,但是p2不允许指向其他地址。 第二个例子: 1、 int gorp = 16; int chips = 12; const int *p_snack = &gorp ...
const int * p 和 int const * p 和 int * const p 的区别 首先注意,const int * p 和int const *p 是一样的,并且不管是不是*p,即使const int i和int const i也是一样的,所以我们接下来只讨论int const * p和int * const p的不同 对于这种问题,我们只用将const 的位置固定,然后再看后面的东西,...
1、内容不同 constint* p; //p可变,p指向的内容不可变,int const* p; //p可变,p指向的内容不可变。 int* const p; //p不可变,p指向的内容可变 const int* const p; //p和p指向的内容都不可变。2、取指针 const int类型一旦定义以后就不能修改,int类型是随时可以修改的。3、返回值...
const 更靠近谁谁就是常量。const在*左边便是指向的数据是常量,在*右边表示指针本身是常量,根据你的需要使用即可。--- 可以把变量赋值给限定符不少于该变量的变量(限定符包括const volatile mutable等)。比如 const char*p1; const char * const p2 = p1; 是可以的,因为p2的限定符不少于p1,...
structA{intdata;};intmain(intargc,char*argv[]){Aa;//constA*p1=&a;Aconst*p2=&a;A*const...
const int * p1:指针的值可以改变,但是指针所指向的内容不能改变。 int * const p1:指针的值不可改变,但是指针所指向的内容能够改变。 const int *const p1:都不能改变。 int * p1:都可以改变。 #include <iostream> using namespace std; int main() { int i = 3,j=0; const int* p1=&i; p1...