EffectiveC++综述.docx

1,C++属于一个语言联邦 : C???? Object-Oriented C++???? Template C++?????? STL 2,应尽量以const,enum,inline替换#define   如果一个常量是class专属常量又是static,且为整数类型(int,char,bool),则需特殊处理:只要不取它们的地址,可以声明并使用它们而不须提供定义式。 但是如果取某个class专属常量的地址,或纵使不取其地址而编译器却(不正确的)坚持要看到一个定义式,必须提供定义式 enum的行为某方面比较像#define而不像const:取一个const地址合法,但是取一个enum地址就不合法,而取#define也不合法,如果不想让被人获得一个pointer或reference指向你的某个整数常量,enum可以帮助你实现这个约束 #define和enum不会设定额外的空间,const在优秀的编译器中也许可能也是这样,但是不够优秀的编译器就必须设定额外的空间 3,尽可能使用const const语法虽然变化多端,但并不莫测高深。如果关键字const出现??*左侧,表示被指物是常量;如果出现在*右边,表示指针自身是常量;如果出现在*两边,表示被指物和指针都是常量 std::vectorint? vec; const std::vectorint::interator? iter =

文档评论(0)

1亿VIP精品文档

相关文档