大学的时候学校开了C++的课程,我考的还不错。毕业后就一直搞软件开发,大概一年前开始用VC做项目。最近静下心来看了C++的经典著作《Effective C++ 》,才发现自己的C++水平其实真的很一般
Item 36: 绝不要重定义一个 inherited non-virtual function(通过继承得到的非虚拟函数) 作者: 译者: 发布: 假设我告诉你 class(类)D 从 class(
现在,假设 XYZ 公司的财富增长了,决定引进一种新机型,Model C。Model C 在某些方面与 Model A 和 Model B 不同。特别是,它的飞行不同。 XYZ 公司的程序员在 hi
Item 35: 考虑可选的 virtual functions(虚拟函数)的替代方法 作者: 译者: 发布: 现在你工作在一个视频游戏上,你在游戏中为角色设计了一个 hierarchy(继承体系)。
第二章 构造函数,析构函数与赋值运算符几乎每一个你自己写的类都会有一个或多个构造函数,一个析构函数和一个拷贝赋值运算符。不要惊奇,那是些就像你的面包黄油一样的函数,他们控制着基本的操作,如创建一个新的
前言 我在 1991 年写出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因为我不想使熟悉本书第一版的读者感到困惑,我尽最大可能保持了原有的结
Item 44: 从 templates(模板)中分离出 parameter-independent(参数无关)的代码 作者: 译者: 发布: templates(模板)是节省时间和避免代码重复的极好
Item 42: 理解 typename 的两个含义 作者: 译者: 发布: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?
Item 48: 感受 template metaprogramming(模板元编程) 作者: 译者: 发布: template metaprogramming (TMP)(模板元编程
Item 4: 确定一个对象在使用前已经被初始化 C++ 看上去在对象的初始化方面变化无常。例如,如果你这样做, int x; 在某些情形下,x 会被初始化(0),但是在其它情形下,也可能没有。如果你