c++中const的问题,求教
答案:2 悬赏:70 手机版
解决时间 2021-03-02 06:35
- 提问者网友:無理詩人
- 2021-03-02 01:14
const int a=1;和int const a=1;有没有什么区别?
最佳答案
- 五星知识达人网友:鸠书
- 2021-03-02 02:29
在这里不会有区别,具体其他情况你看看下面这个就明白了
(1)修饰一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。 例如:
int const x=2; 或 const int x=2;
(2)修饰常数组 定义或说明一个常数组可采用如下格式:
int const a[5]={1, 2, 3, 4, 5};
const int a[5]={1, 2, 3, 4, 5};
(3)修饰常对象 常对象是指对象常量,定义格式如下:
class A; const A a;
A const a; 定义常对象时,同样要进行初始化,并且该对象不能再被更新,修饰符const可以放在类名后面,也可以放在类名前面。
(4)修饰常指针
const int *A; //const修饰指向的对象,A可变,A指向的对象不可变
int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A; //const修饰指针A, A不可变,A指向的对象可变
const int *const A;//指针A和A指向的对象都不可变
(1)修饰一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。 例如:
int const x=2; 或 const int x=2;
(2)修饰常数组 定义或说明一个常数组可采用如下格式:
int const a[5]={1, 2, 3, 4, 5};
const int a[5]={1, 2, 3, 4, 5};
(3)修饰常对象 常对象是指对象常量,定义格式如下:
class A; const A a;
A const a; 定义常对象时,同样要进行初始化,并且该对象不能再被更新,修饰符const可以放在类名后面,也可以放在类名前面。
(4)修饰常指针
const int *A; //const修饰指向的对象,A可变,A指向的对象不可变
int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A; //const修饰指针A, A不可变,A指向的对象可变
const int *const A;//指针A和A指向的对象都不可变
全部回答
- 1楼网友:有你哪都是故乡
- 2021-03-02 02:36
使用const限定的成员函数不能改变类的成员变量的值,主要是为了保护成员变量不在该函数中被更改。 例如,有一个成员变量int a,获得成员变量a的函数 int void get_a()const; 这里const表示get_a这个函数不能够更改类的成员变量的值,但是可以使用,所以这时如果get_a的实现是: int void get_a() { return a; } 这样就不会出错,而如果是: int void get_a() { a=1; return a; } 这样就会报错,因为函数改变了成员变量的值。 const限定函数的作用是在大型工程中保证封装性,不能随意暴露成员变量,成员变量的更改必须保证在特定函数,使用特定方法,只有这样,才能保证软件的安全性。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯