Shifting from C to C++:
1 - 尽量以const和inline取代#define;
2 - 尽量以<iostream>取代<stdio.h>;
3 - 尽量以new和delete取代malloc和free;
4 - 尽量使用C++风格的注释形式;
Memory Management:
5 - 使用相同形式的new和delete;
Constructors, Destructors and Assignment Operetors:
11 - 如果class内动态配置有内存,请为此class声明一个copy constructor和一个assignment运算符;
12 - 在constructor中尽量以initialization动作取代assignment动作;
13 - initialization list中的members初始化次序应该和其在class内的声明次序相同;
14 - 总是让base class拥有virtual destructor;
Classes and Functions: Design and Declaration:
27 - 如果不想使用编译器暗自产生的member functions,就应该明白拒绝它(设为private,并且不定义具体内容);
Miscellany:
47 - 使用non-local static objects之前先确定它已有初值;
48 - 不要对编译器的警告信息视而不见;
49 - 尽量让自己熟悉C++标准程序库;
50 - 加强自己对C++的了解。
原文链接: https://www.cnblogs.com/bluerocky/archive/2012/05/28/effective_c.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/51350
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!