Effective C++

本文提供了从C语言平滑过渡到C++的一系列建议,包括代码编写习惯、内存管理、构造函数与析构函数的设计原则等。强调了使用C++特性如const和inline替代预处理器指令、使用new和delete替代malloc和free的重要性。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值