资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过...
分类:
编程语言 时间:
2014-05-26 23:23:05
阅读次数:
328
DFS算法,非常容易TLE,需要一个boolean矩阵来记录是否访问过某个节点。写DFS主要就是两个方法:用recursion或者Stack,
用recursion会带来time和memory的cost增加,而且因为要用矩阵做argument,
所以非常担心TLE或者MLE的问题。但是用recurs...
分类:
其他好文 时间:
2014-05-26 13:03:20
阅读次数:
273
overwrite与overload的区别,慎用overload...
分类:
编程语言 时间:
2014-05-26 05:32:00
阅读次数:
272
Effective 学习之以独立语句将newed对象置入智能指针...
分类:
其他好文 时间:
2014-05-26 03:59:29
阅读次数:
193
为驳回编译器自动提供的机能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种方法...
分类:
编程语言 时间:
2014-05-24 19:44:58
阅读次数:
258
经验:
如果你自己没声明,编译器会自动声明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
资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。
条款13:以对象管理资源
当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过一个函数来动态分配内存并返回一个指针。
Investment* ceateInve...
分类:
编程语言 时间:
2014-05-22 17:28:27
阅读次数:
340
条款05:了解C++默默编写并调用哪些函数
默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性。
当我们没有人为的定义上面的几个函数时,编译器会给我们构造默认的。
当成员变量里有const对象或引用类型时,编译器会不能合成默认的拷贝赋值函数;当一个基类把它的拷贝赋值函数定义为private时,它的派生类也不无生...
分类:
编程语言 时间:
2014-05-22 17:05:38
阅读次数:
341
条款01:视C++为一个语言联绑
C++的四个语言层次:
C:C++是以C为基础的。基本数据类型、语句、预处理器、数组、指针等统统来自C。Oject-Oriented C++:面向对象这一特性包含了:类,封装,继承,多态,虚函数等Template C++:C++的泛型编程能力。STL:一个标准的template库,里面介绍了容器、迭代器、算法以及函数对象等模板类和模板函数。
综述...
分类:
编程语言 时间:
2014-05-21 16:35:40
阅读次数:
265