代码风格总结

1、 关于宏、常量和模板名要全部大小,用下划线隔开;

2、 指针标识符名以p开头;

3、 i_  类内数据成员; c_ 类内静态数据成员; g_全局变量; f_ 文件作用域变量

4、 函数中,用lhs做左值参数的名字,用rhs做右值参数的名字

5、少用浮点数除非必须

6、用typedef简化程序中的复杂语法,用enum取代(一组相关)的常量

7、(尽量)用引用取代指针

8、函数无参数一定要用void标注

9、对于非内置类型参数应传递引用(首选)或指针,提高效率,防止对象切割

10、返回指针类型的函数应该用NULL表示失败

11、当函数返回引用或指针时,用文字描述其有效期

12、禁止成员函数返回成员(可读写)的引用或指针

13、不要在类定义时提供成员函数体,函数声明时定义参数的缺省值

14、当类型差异不影响类的行为时用模板,否则用继承

15、纯虚函数是可以有函数体的。如果派生类要使用该缺省实现,必须在自己的函数体中显示调用

16、绝不要重新定义(继承来的)非虚函数

17、记住给字符串结束符申请空间,如:pName = new char[strLen + 1];

18、声明后就初始化强于使用前就初始化,初始化要彻底,尽量使用初始化列表,初始化列表要按成员声明顺序初始化它们

19、关于构造函数、析构函数、赋值函数、相等或不等函数的格式:

//拷贝构造函数

MyClass_T::MyClass_T(const MyClass_T&);

//析构函数

MyClass::~MyClass_T(void);

//赋值函数:尽量用常量参数

MyClass_T& MyClass_T::operator=(const MyClass_T& rhs);

//相等函数

bool operator==(const MyClass_T& lhs, const MyClass_T& rhs);

//不等函数

bool operator!=(const MyClass_T& lhs, const MyClass_T& rhs);

 

20、常量修饰符:

const char* p = "hello";指针不是常量,指针指向的是常量.

char* const p = "hello";指针是常量,指针指向的不是常量

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值