C++核心准则原文翻译

303 篇文章
31 人订阅

全部文章

面向对象思考

C++核心准则ES.78:不要依靠switch语句的隐式下沉处理

Always end a non-empty case with a break. Accidentally leaving out a break is a ...

6810
面向对象思考

C++核心准则ES.77:循环中尽量少用break和continue

In a non-trivial loop body, it is easy to overlook a break or a continue.

5010
面向对象思考

C++核心准则ES.76:避免使用goto语句​

Readability, avoidance of errors. There are better control structures for humans...

8030
面向对象思考

C++核心准则ES.75: 避免使用do语句

Readability, avoidance of errors. The termination condition is at the end (where...

7430
面向对象思考

C++核心准则ES.74:尽量在循环变量初始化表达式中定义循环变量​

Limit the loop variable visibility to the scope of the loop. Avoid using the loo...

6210
面向对象思考

C++核心准则ES.73:如果没有明显的循环变量,while语句要好于for语句

The "event loop" is misleading because the events counter has nothing to do with...

4310
面向对象思考

C++核心准则ES.72:如果存在明显的循环变量,for语句要好于while语句

Readability: the complete logic of the loop is visible "up front". The scope of ...

6410
面向对象思考

C++核心准则​ES.71: 如果可以,使用范围for代替普通的for语句

Readability. Error prevention. Efficiency.

4820
面向对象思考

C++核心准则ES.70:进行选择时,switch语句比if语句好

Flag if-then-else chains that check against constants (only).

7620
面向对象思考

C++核心准则ES.65:不要解引用无效指针

Dereferencing an invalid pointer, such as nullptr, is undefined behavior, typica...

12220
面向对象思考

C++核心准则ES.64:使用T{e}记法构造对象

The T{e} construction syntax makes it explicit that construction is desired. The...

6010
面向对象思考

C++20新特性简介-Concepts

基本上从C++语言出现开始,泛型编程就是C++的重要组成部分之一。使用编程,可以在实现一次编程多次使用的同时,又不会损失精度。简直就是完美。例如我们可以实现一个...

5810
面向对象思考

在Ubuntu20.04环境中构建C++20开发环境(GCC11)

本文介绍在最新的Ubuntu20.04环境中编译最新的GCC编译器的方法。使用这个环境可以学习C++20新特性。

27810
面向对象思考

C++核心准则ES.63​:不要分割处理对象

Slicing -- that is, copying only part of an object using assignment or initializ...

5810
面向对象思考

C++核心准则ES.48:避免使用类型转换

Casts are a well-known source of errors. Make some optimizations unreliable.

8820
面向对象思考

C++核心准则ES.49:如果必须进行类型转换,使用命名转换

Readability. Error avoidance. Named casts are more specific than a C-style or fu...

6810
面向对象思考

C++核心准则ES.50:不要执行去掉const属性的转换

It makes a lie out of const. If the variable is actually declared const, modifyi...

12610
面向对象思考

C++核心准则ES.55: 尽量不造成范围检查需求​

Constructs that cannot overflow do not overflow (and usually run faster):

6110
面向对象思考

C++核心准则ES.56​:只在需要将一个对象显式移动到另外的作用域时使用std::move​

We move, rather than copy, to avoid duplication and for improved performance.

11020
面向对象思考

C++核心准则​​ES.61:使用delete[]销毁数组,使用delete销毁对象

That's what the language requires and mistakes can lead to resource release erro...

12120

扫码关注云+社区

领取腾讯云代金券