山西省建设注册中心网站,周口搜索引擎优化,合肥站建设,网站建设与管理感想const用于定义常量#xff1a;const定义的常量编译器可以对其进行数据静态类型安全检查。const修饰函数形式参数#xff1a;当输入参数为用户自定义的类型和抽象数据类型时#xff0c;应该将值传递改为const 传递#xff0c;可以提高效率。
void fun(A a);
void fun(…const用于定义常量const定义的常量编译器可以对其进行数据静态类型安全检查。const修饰函数形式参数当输入参数为用户自定义的类型和抽象数据类型时应该将值传递改为const 传递可以提高效率。
void fun(A a);
void fun(A const a); 第一个函数的效率低。函数体内产生A类型的临时对象用于复制参数a临时对象的构造复制析构过程都将消耗时间。而第二个函数提高了效率。用引用传递不需要产生临时对象节省了临时对象的构造复制析构过程消耗的时间。但是光引用有可能改变a所以加const。
const修饰函数的返回值如给“指针传递”的函数返回值加const则返回值不能被直接修改且该返回值只能被赋值给加const修饰的同类型指针例如
const char *GetChar(void) {};
char *ch GetChar(); // 这个是错误的
const char *ch GetChar(); // 这个是对的 const修饰类成员函数任何不会修改数据成员的函数都应用const修饰这样当不小心修改了数据成员或者调用了非const成员函数时编译器都会报错。const修饰类成员函数形式为
int GetCount(void) const;