文章 2022-07-08 来自:开发者社区

Effective C++条款 02:尽量以 const, enum, inline 替换 #define

条款 02:尽量以 const, enum, inline 替换 #define这个条款或许改为“宁可以编译器替换预处理器”比较好,因为或许#define 不被视为语言的一部分。那正是它的问题所在。问题产生例如下面代码:#define ASPECT_RATIO 1.653记号名称ASPECT_RATIO也许从未被编译器看见;也许在编译器开始处理源码 之前它就被预处理器移走了。于是记号名称ASPE....

文章 2022-07-08 来自:开发者社区

Effective C++条款01:视C++为一个语言联邦

条款01:视C++为一个语言联邦一开始,C++只是C加上一些面向对象特性。C++最初的名称C with Classes 也反映了这个血缘关系。但是当这个语言逐渐成熟,它变得更活跃更无拘束,更大胆更冒险,开始接受 不同于C with Classes的各种观念、特性和编程战略。Exceptions (异常)对函数的 结构化带来不同的做法(见条款29) , templates (模板)将我们带到新的设....

文章 2017-12-06 来自:开发者社区

【Effective c++】条款6:若不想使用编译器自动生成的函数就应该明确拒绝

地产中介卖的是房子,其使用的中介软件系统应该有个类用来描述卖掉的房子 class HomeFoeSale { ......} 但是任何房子都是独一无二的,不应该存在两个房子拥有同样的属性,因此以下操作不应该正确! HomeForSale h; HomeForSale h1(h); //调用复制构造函数 HomeForSale h2 = h; //调用赋值操作符 阻止这两个操作(...

【Effective c++】条款6:若不想使用编译器自动生成的函数就应该明确拒绝
文章 2017-11-14 来自:开发者社区

《Effective C++》之条款32:确定你的public继承塑模出is-a关系

《Effective C++》 条款32:确定你的public继承塑模出is-a关系 Public inheritance(公开继承)意味“is-a”的关系。 例子如下: 1 2 3 4 5 6 7 8 9 10 class Person{ ... }; class Student : public Person{ ....

文章 2017-11-13 来自:开发者社区

《Effective C++》条款20宁以pass-by-reference-to-const替换pass-by-value

《Effective C++》 条款20:宁以pass-by-reference-to-const替换pass-by-value       缺省情况下C++以by value方式传递对象至函数。除非你另外知道,否则函数参数都是以实际参数的副本为初值,而调用端所获得的亦是函数返回值的一个复件。这些复件系由copy构造函数产出,这可能使得pass-by-value成为昂...

文章 2017-11-13 来自:开发者社区

《Effective C++》之条款31:将文件间的编译依存关系降至最低

《Effective C++》 条款31:将文件间的编译依存关系降至最低        假设你对C++程序的某个class实现文件做了些轻微修改。注意,修改的不是class接口,而是实现,而且只改private成分。然后重新建置这个程序,预计只花数秒就好。毕竟只有一个class被修改。当你按下“Build”按钮或键入make指令时,会大吃一惊,然后感到困窘,...

文章 2017-11-13 来自:开发者社区

《Effective C++》之条款26:尽可能延后变量定义式的出现时间

《Effective C++》 条款26:尽可能延后变量定义式的出现时间         只要你定义了一个变量而其类型带有一个构造函数和析构函数,那么当程序的控制流到达这个变量定义式时,你便得承受构造成本;当这个变量离开作用域时,你便得承受析构成本。即使这个变量最终并未被使用,仍需耗费这些成本,所以你应该尽量避免这种情形。 对于“尽可能延后”的理解...

文章 2017-11-13 来自:开发者社区

《Effective C++》之条款33:避免遮掩继承而来的名称

《Effective C++》 条款33:避免遮掩继承而来的名称 遮掩行为与作用域有关。例子如下: 1 2 3 4 5 6 int x;//global变量 void someFun() {     double x;//local 变量     std::cin &g...

文章 2013-10-28 来自:开发者社区

effective c++条款1:视C++为一个语言联邦

C++语言主要由以下4种语言构成:    1.C    2.Object-Oriented C++    3.Template C++    4.STL C++的高效编程守则视状况而变化,取决于你使用C++的哪一部分。

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注