Const用语和感受主要就写那个是为的是流程的强壮型,增加流程手忙脚乱:
最基本上的用语:
const int a=100; b的文本维持不变,b根本无法是100也是新闻稿两个int类别的自变量(#define b =100)
int const b=100; //和下面促进作用那样
const操作符和提及通常用在表达式的模块中
int* m = &a; //手忙脚乱,自变量根本无法用常操作符
int c= 1;const int*pc = &c;//常操作符可对准自变量
const int* pa = &a; //操作符对准的文本为自变量(是b的值维持不变)
int const *a = &b; //操作符对准的文本为自变量(是b的值维持不变)*p=3//error
int* const a = &b; //操作符为自变量,无法更动操作符了如 a++但能利斯涅*p=3;
从这能窥见const放到*右侧润色的是操作符的文本,const放到*右侧润色的是操作符这类.
const提及的用语和操作符那样
int const & a=b; 和操作符那样
const int& a=b; 和操作符那样
但没有 int& const a=b 的用语因为提及无法做移位运算,但只是出个warning
const int* const a = &b; //综合应用,通常用来传递多维的数组
类如: char* init[] = {“Paris”,”in the”,”Spring”};
void fun(const int* const a){}
fun(init)//保护模块不被修改
int A(int)const; //是常表达式,根本无法用在类中,调用它的对象无法改改变成员值
const int A(); //返回的是自变量,所以必须这么调用 cosnt int a=A();
int A(const int); //模块无法利斯涅,可用在任意表达式
int A(const int*);
….
int height() const;//常表达式根本无法由常表达式调用
int max(int,int) const;
int Max = max(height(),height());
const int* pHeap = new int;
delete pHeap;
p = NULL;//手忙脚乱
我的解决办法是强制类别转换
const int* pHeap = new int(1);
delete (int*)pHeap;
pHeap = NULL;
暂时我就遇到这些问题,大家都能在后面补充一下哦!