01.
C++箴言:考虑支持不抛异常的swap很多企业在发展过程中,都有过几套治理软件共用的经历,往往造成在企业内部形成信息孤岛,无法统一治理的窘境 中冀集...查看完整版>>
C++箴言:考虑支持不抛异常的swap
02.
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(上)Item 25: 考虑支持不抛异常的 swapswap 是一个有趣的函数。最早作为 STL 的一部分被引入,后来它成为异常安全编程(exception-safe programming)的支柱(参见 Item 29)和压制自赋值可能性的通用机制(参见 )。因为...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(上)
03.
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(下)因此该怎么做呢?我们还是需要一个方法,既使其他人能调用 swap,又能让我们得到更高效的模板特化版本。答案很简单。我们还是声明一个非成员 swap 来调用成员 swap,只是不再将那个非成员函数声明为 std::swap 的特化...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(下)
04.
C++箴言:考虑可选的虚拟函数的替代方法现在你工作在一个视频游戏上,你在游戏中为角色设计了一个 hierarchy(继续体系)。你的游戏中有着变化多端的恶劣环境,角色被伤害或者其它的健康状态降低的情况并不罕见。因此你决定提供一个 member function(...查看完整版>>
C++箴言:考虑可选的虚拟函数的替代方法
05.
C++箴言:将强制转型减到最少C++ 的规则设计为保证不会发生类型错误。在理论上,假如你的程序想顺利地通过编译,你就不应该试图对任何对象做任何不安全的或无意义的操作。这是一个非常有价值的保证,你不应该轻易地放弃它。 ...查看完整版>>
C++箴言:将强制转型减到最少
06.
C++箴言:理解隐式接口和编译期多态object-oriented programming(面向对象编程)的世界是围绕着 eXPlicit interfaces(显式接口)和 runtime polymorphism(执行期多态)为中心的。例如,给出下面这个(没有什么意义的)的 class(类)。class Wi...查看完整版>>
C++箴言:理解隐式接口和编译期多态
07.
C++箴言:理解typename两个含义在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template class Widget; // uses "class" template class Widget; // uses "typename"...查看完整版>>
C++箴言:理解typename两个含义
08.
C++箴言:为类型信息使用特征类STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的,但是也有几个 utility templates(实用模板)。其中一个被称为 advance。advance 将一个指定的 iterat...查看完整版>>
C++箴言:为类型信息使用特征类
09.
C++箴言:让=返回一个*this的引用关于赋值的一件有意思的事情是你可以把它们穿成一串。 int x, y, z; x = y = z = 15; // chain of assignments 另一件有意思的事情是赋值是右结合的,所以,上面的赋值串可以解析成这样: ...查看完整版>>
C++箴言:让=返回一个*this的引用
10.
C++箴言:理解new-handler的行为当 operator new 不能满足一个内存分配请求时,它抛出一个 exception(异常)。很久以前,他返回一个 null pointer(空指针),而一些比较老的编译器还在这样做。你依然能达到以前的目的(在一定程度上),但是我...查看完整版>>
C++箴言:理解new-handler的行为
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。