Effective C++
ctthuangcheng
这个作者很懒,什么都没留下…
展开
-
Effective C++ ——资源管理
条款13:以对象来管理资源 在C++中我们经常会涉及到资源的申请与申请,一般都是由关键字new 和 delete来操作的,两者都是成对存在的,缺一不可,否则会出现意想不到的问题,例如:class Investment{.....};Investment* pinv = createInvestment(); 我们在使用完后要动态的释放掉pinv所指向的资源,例如在下面的函原创 2013-08-24 18:54:15 · 1718 阅读 · 1 评论 -
Effective C++ ——构造/析构/赋值运算符
条款五:了解C++默认编写并调用那些函数 是否处在空的类? 假设定义类为class Empty{};当C++编译器处理过后会变成如下的形式:class Empty{ Empty(){} ~Empty(){} Empty& operator=(const Empty& rhs){.....} Empty(const Empty& rhs){.....}}原创 2013-08-24 17:33:07 · 2856 阅读 · 0 评论 -
Effective C++ ——设计与声明
条款18:让接口更容易的被使用,不易误用 接口设计主要是给应用接口的人使用的,他们可能不是接口的设计者,这样作为接口的设计者就要对接口的定义更加易懂,让使用者不宜发生误用,例如对于一个时间类:class Date{public: Data(int month, int day, int year){ .... }}; 在应用Date类的时候,对原创 2013-08-25 01:04:06 · 1505 阅读 · 0 评论 -
Effective C++ ——实现
条款26:尽可能延后变量定义式的出现时间 当你定义一个变量的时候就要保证这个变量能够在程序中使用到,不要定义无意义的变量,这样就要求我们最好是在变量使用到的时候才做定义,因为如果一个变量定义了却不使用可能会造成效率上的降低,毕竟很多变量的构建是要调用对应的构造函数和析构函数的,考虑下面的例子:std::string setName(std::string& name){ string原创 2013-08-25 01:36:13 · 1555 阅读 · 0 评论 -
Effective C++ ——继承与面向对象设计
条款32:确定你的public继承塑模出is-a关系 以public继承的类,其父类的所有的性质都应该使用与子类,任何需要父类的地方都应该能用子类来代替,任何子类类型的对象也同时是父类的:class Person{...};class Student : public Person{...};void eat(const Person& p);void study(const S原创 2013-08-25 03:00:46 · 1622 阅读 · 0 评论 -
Effective C++ ——模板和泛型编程
条款41:了解隐式接口和编译器多态 以public继承的类,原创 2013-08-25 16:12:47 · 1619 阅读 · 0 评论