资源描述:
《const用法介绍》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、const,extern,static,volatile的使用1Const深度解析3const用法详解9const,extern,static,volatile的使用1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为
2、该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ProgramLanguage》用const声明的变量虽然增加了分配空间,但是可以保证类型安全。C标准中,const定义的常量是全局的,C++中视声明位置而定。用法2:指针和常量使用指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明用const“预先固定”将使那个对象而不是使这个指针成为常量。要将指针本身而不是被指对象声明为常量,必须使用声明运算符*const。所以出现在*之前的const是作为基础类型的一部分:char*constcp;//到
3、char的const指针charconst*pc1;//到constchar的指针constchar*pc2;//到constchar的指针(后两个声明是等同的)从右向左读的记忆方式:cpisaconstpointertochar.pc2isapointertoconstchar.用法3:const修饰函数传入参数将函数传入参数声明为const,以指明使用这种参数仅仅是为了效率的原因,而不是想让调用函数能够修改对象的值。同理,将指针参数声明为const,函数将不修改由这个参数所指的对象。通常修饰指针参数和引用参数:voidFun(constA*in);
4、//修饰指针型传入参数voidFun(constA&in);//修饰引用型传入参数用法4:修饰函数返回值可以阻止用户修改返回值。返回值也要相应的付给一个常量或常指针。用法5:const修饰成员函数const,extern,static,volatile的使用1Const深度解析3const用法详解9const,extern,static,volatile的使用1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情
5、况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ProgramLanguage》用const声明的变量虽然增加了分配空间,但是可以保证类型安全。C标准中,const定义的常量是全局的,C++中视声明位置而定。用法2:指针和常量使用指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明用const“预先固
6、定”将使那个对象而不是使这个指针成为常量。要将指针本身而不是被指对象声明为常量,必须使用声明运算符*const。所以出现在*之前的const是作为基础类型的一部分:char*constcp;//到char的const指针charconst*pc1;//到constchar的指针constchar*pc2;//到constchar的指针(后两个声明是等同的)从右向左读的记忆方式:cpisaconstpointertochar.pc2isapointertoconstchar.用法3:const修饰函数传入参数将函数传入参数声明为const,以指明使用这种
7、参数仅仅是为了效率的原因,而不是想让调用函数能够修改对象的值。同理,将指针参数声明为const,函数将不修改由这个参数所指的对象。通常修饰指针参数和引用参数:voidFun(constA*in);//修饰指针型传入参数voidFun(constA&in);//修饰引用型传入参数用法4:修饰函数返回值可以阻止用户修改返回值。返回值也要相应的付给一个常量或常指针。用法5:const修饰成员函数const,extern,static,volatile的使用1Const深度解析3const用法详解9const,extern,static,volatile的使用
8、1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边