资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过...
分类:
编程语言 时间:
2014-05-26 23:23:05
阅读次数:
328
overwrite与overload的区别,慎用overload...
分类:
编程语言 时间:
2014-05-26 05:32:00
阅读次数:
272
Effective 学习之以独立语句将newed对象置入智能指针...
分类:
其他好文 时间:
2014-05-26 03:59:29
阅读次数:
193
经验1:为内置对象进行手工初始化,因为C++不保证初始化它们...
分类:
编程语言 时间:
2014-05-26 03:47:58
阅读次数:
301
为驳回编译器自动提供的机能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种方法...
分类:
编程语言 时间:
2014-05-24 19:44:58
阅读次数:
258
尽量以const, enum,inline 替换 #define --》 宁可以编译器替换预处理器...
分类:
编程语言 时间:
2014-05-24 18:29:52
阅读次数:
321
经验:
如果你自己没声明,编译器会自动声明copy constructor,copy assignment,destructor,
如果你没有声明任何构造函数,编译器会自动声明default constructor...
分类:
编程语言 时间:
2014-05-24 17:16:35
阅读次数:
340
本文主要介绍如何使用静态工厂方法已经在那种场合来使用这种方式代替构造方法。
众所周知,对于类而言,我们为了获得一个类的实例对象,通常情况下会提供一个公有的(public) 的构造器。当然除了这种方法以外,我们还可以通过给类提供一个public的静态工厂方法(static factory method)的方式来完成,让它返回一个类的实例。...
分类:
编程语言 时间:
2014-05-23 01:03:20
阅读次数:
317
条款05:了解C++默默编写并调用哪些函数
默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性。
当我们没有人为的定义上面的几个函数时,编译器会给我们构造默认的。
当成员变量里有const对象或引用类型时,编译器会不能合成默认的拷贝赋值函数;当一个基类把它的拷贝赋值函数定义为private时,它的派生类也不无生...
分类:
编程语言 时间:
2014-05-22 17:05:38
阅读次数:
341