网站图片什么格式,莱芜网络推广公司哪里有,做网站最烂公司,营销单页模板网站0. 写在最前面 在看《effective C》前觉得代码都是自己写的#xff0c;加不加这些const修饰#xff0c;注不注意格式都无所谓啦#xff0c;反正自己知道。看完后印象比较深的两点#xff0c;一个是你设计的类有可能会给别人用#xff0c;你这些良好的习惯可以防止别人在用… 0. 写在最前面 在看《effective C》前觉得代码都是自己写的加不加这些const修饰注不注意格式都无所谓啦反正自己知道。看完后印象比较深的两点一个是你设计的类有可能会给别人用你这些良好的习惯可以防止别人在用你的类的时候出现一些低级错误从而浪费时间。多人合作的时候也能够节省很多交流和统一意见的时间一个合适的const使得代码一目了然。二则代码会有版本更迭再过一段时间你或许会忘记自己当初的想法良好的习惯这个时候就能给自己节省很多时间。所以在合适的地方加上合适的const吧 你的Star是作者坚持下去的最大动力哦 在函数末尾 一般在类中使用表明其是const成员函数不能修改成员变量也即意味着不能调用非const成员函数。除非非静态成员变量前面加上了mutable修饰符表明其是多变的。 void print2() const{coutnumendl;
}在函数前面 修饰函数返回值为const类型只能读取不能修改。 const bool is_man(){return true;
}
bool a is_man();//error
const bool b is_man();//right作为函数参数 作为函数参数有三种形式一种是普通的变量前面如下面的第二个参数。一般只是起到警示的作用因为形参本来就不可改变函数内部会再生成一个实参。第二种是指针详见下面指针部分的介绍。这里重点说下第三种常引用如下面函数第一个形参。一般用于数据量比较大的数据类型不想生成实参的过程中产生大量的拷贝消耗就只好用引用呗又不想函数修改这个形参那就加个const咯。 void saveImage(const Mat m, const string path)在指针前后 如果是普通类型那大家应该都知道表明这个变量是常量不可变如 const int kValue
int const kValue但如果用const修饰的指针const在前还是在后就差距很大了。 //kValue是常量指针其指向的值不可变
const int* kValue
int const *kValue//不建议这种写法
//kPointer是常指针指针本身不可变
int* const kPointer
//两者都不可变
const int* const kPV修饰成员变量 同上面一样常量是需要在初始化时就赋值的后面不能再修改。由于类的特殊机制其初始化是在进入类的构造函数之前进行的所以其唯一的初始化方法就是使用参数初始化表的形式 Box::Box(int h, int w, int t):height(h), width(w), kThreshold(t){}这里kThreshold就是类常量成员。 喜欢我的文章的话Star一下呗Star 版权声明本文为白夜行的狼原创文章未经允许不得以任何形式转载 转载于:https://www.cnblogs.com/HaoQChen/p/11048589.html