mtwm.net
当前位置:首页 >> Const int >>

Const int

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

const int a 是定义一个常整型变量,变量的值不能改变;int a 是整型变量,可以改变a的值!

const int *p和int * const p的区别如下: const int *p表明指向的对象是const型,不可以修改,但是指针p的指向可以修改. * const p表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改.一般来说用*限定的是指针区域存放的内容,不用*的是内存地址.

这应该没区别指针的话有区别引用以下:对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const.A const int* a; 或int const *a;//*a是const,但指针a可变B const* int a;或int * const a;//a是const,但*a可变C (const int* const a;等价于int * const a const;)或int const* const a;//a和*a都是const,常量和指针的值都不能改变

没有区别的,都是表示不可改变数值的int常量.而const 在定义指针时,const int *a和int const *a才有区别.const int *a 表示a只能只想常量的int;int *const a 表示a是一个常指针,只能指向某一固定的int变量.

定义了一个整形指针变量a (int * a) 再加上两个const,表示a不允许被修改(到别的地址上),另外a指针指向的int数据也不允许被修改.

作用不一样,const只是声明一个常量,static表示该常量是静态变量,只要程序不结束,该变量从声明的地方开始,一直在内存中存在不释放

const int *i 是指向常量的指针,指针指向一个常量,无需初始化,指针本身可以改变,但是指针指向的值不能改变.如:const int x=10; const int *p1=&x; p1++;//ok(*p1)++;//error const int &i是指向常量的引用,使用时必须初始化,而且初始化后,引用值不可以改变,引用的常量也不能改变.如:const int &p2;//error const int &p2=x;//ok const int y=20; p2=y;//error p2++;//error 如果你还有什么疑问,我们再探讨~~~~

估计你是问用在函数参数里的吧?比如Func(Const int& n) ???这种情况下 采用const修饰 避免在函数体内修改n的值 用&避免了参数n的复制 int型还看不出效率 如果是你自己定义的类型 复制要花费一定的时间 影响效率

const int * a 是整型常量指针,它所指向的对象值不可改变,const int *&a是整型常量指针的引用,它定义了一个整型常量指针的引用(或别名).他们两个的主要区别:第二个在声明时必须初始化,它本身并不占用内存,只是它所指向对象的别名.引用在初始化后不可修改.第一个可以只声明不初始化,在使用时再赋值即可.在声明后就对其分配了内存空间.注:指针和引用的主要区别: 1、可以定义指针的引用,没有引用的指针 2、可以定义数组的引用,没有引用的数组 3、可以定义指向空值的指针,不能定义指向空值的引用.希望对你有所帮助!

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com