试题来源: 解析 答: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 ...
从上面罗列的情况上可以看出来,p1和p2属于相同情况,const 和 T前后互换没有影响。关键的区分点是*和...
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 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...
const*,指针指向常量;const int * p1;//所指物是常量,而指针不是常量,可以不必须初始化。 int const *p2=&i;//p2取i的地址 *p2=30;//所指物是常量,所以错误 *const,指针本身为常量;int *const p3=&i;//指针本身为常量,必须初始化,且初始化为i的地址,不可修改 ...