const放在函数前后的区别

一、const修饰指针

int b = 500;

1、const int * a = & b;

2、int const * a = & b;

3、int * const a = & b;

4、const int * const a = & b;


对于1和2

const 放在*左侧,就是用来修饰指针所指向的变量,即指针指向的是常量。

若a是仓库管理员,b是仓库。即仓库中的货物(*a)不允许改变。但是可修改指针指向或b的值来改变*a。


对于3

const放在*的右侧,表示管理的仓库不可改变,只能是那一个,但是仓库中的货物(*a)可以改变。同时定义时必须初始化。


对于4

表示指针本身和指向的内容均为常量。


二、放在函数前后区别

1、int GetY() const;

2、const int * GetPosition();


对于1

该函数为只读函数,不允许修改其中的数据成员的值。


对于2

修饰的是返回值,表示返回的是指针所指向值是常量。


你可能感兴趣的:(程序员笔试面试题)