Item 16: 使用相同形式的 new 和 delete 下面这段代码有什么问题? std::string *stringArray = new std::string; ... delete st
Item 3: 只要可能就用 const 关于 const 的一件美妙的事情是它允许你指定一种语义上的约束:一个特定的对象不应该被修改。而编译器将执行这一约束。它允许你通知编译器和其他程序员,某个值应
Item 17: 在一个独立的语句中将 new 出来的对象存入智能指针 假设我们有一个函数取得我们的处理优先级,而第二个函数根据优先级针对动态分配的 Widget 做一些处理: int priorit
Item 47: 为类型信息使用 traits classes(特征类) 作者: 译者: 发布: STL 主要是由 containers(容器),iterators(迭代器)和 alg
Item 4: 确定一个对象在使用前已经被初始化 C++ 看上去在对象的初始化方面变化无常。例如,如果你这样做, int x; 在某些情形下,x 会被初始化(0),但是在其它情形下,也可能没有。如果你
iterator_traits 通过两部分实现这一点。首先,它强制要求任何 user-defined iterator(用户定义迭代器)类型必须包含一个名为 iterator_category
iterator_traits 通过两部分实现这一点。首先,它强制要求任何 user-defined iterator(用户定义迭代器)类型必须包含一个名为 iterator_category
Item 4: 确定一个对象在使用前已经被初始化 C++ 看上去在对象的初始化方面变化无常。例如,如果你这样做, int x; 在某些情形下,x 会被初始化(0),但是在其它情形下,也可能没有。如果你
Item 47: 为类型信息使用 traits classes(特征类) 作者: 译者: 发布: STL 主要是由 containers(容器),iterators(迭代器)和 alg
第四章 设计和声明软件设计——使软件做你想让它做的事情的途径——典型地从相当概括的主意开始,但它们最后成为足够详细的允许开发的详细的接口。这些接口必须能