STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的,但是也有几个 utility templates(
Item 47: 为类型信息使用 traits classes(特征类) 作者: 译者: 发布: STL 主要是由 containers(容器),iterators(迭代器)和 alg
iterator_traits 通过两部分实现这一点。首先,它强制要求任何 user-defined iterator(用户定义迭代器)类型必须包含一个名为 iterator_category
iterator_traits 通过两部分实现这一点。首先,它强制要求任何 user-defined iterator(用户定义迭代器)类型必须包含一个名为 iterator_category
Item 47: 为类型信息使用 traits classes(特征类) 作者: 译者: 发布: STL 主要是由 containers(容器),iterators(迭代器)和 alg
template metaprogramming (TMP)(模板元编程)是写 template-based(基于模板)的运行于编译期间的 C++ 程序的过程。考虑一下:一个 template m
假设我们和一个投资(例如,股票,债券等)模型库一起工作,各种各样的投资形式从一个根类 Investment 派生出来: class Investment { ... }; // root cla
在 C++ 中,就像其它面向对象编程语言,可以通过定义一个新的类来定义一个新的类型。作为一个 C++ 开发者,你的大量时间就这样花费在增大你的类型系统。这意味着你不仅仅是一个类的设计者,而且是一个
smart pointers(智能指针)是行为很像指针但是增加了指针没有提供的功能的 objects。例如,《C++箴言:使用对象治理资源》阐述了标准 auto_ptr 和 tr1::shared
在《C++箴言:确保公开继续模拟“is-a”》一文中论述了 C++ 将 public inheritance(公有继续)视为一个 is-a 关系。