C++核心准则原文翻译

303 篇文章
31 人订阅

全部文章

面向对象思考

C++核心准则DS.22:没有合适的初始值就不要定义变量

Readability. Limit the scope in which a variable can be used. Don't risk used-be...

12330
面向对象思考

C++核心准则ES.20: 保证所有对象被初始化

Avoid used-before-set errors and their associated undefined behavior. Avoid prob...

13430
面向对象思考

C++核心准则ES.12:不要在嵌套作用域中重复使用同样的名称

It is easy to get confused about which variable is used. Can cause maintenance p...

8010
面向对象思考

C++核心准则ES.11:使用auto避免多余的类型名重复

In each case, we save writing a longish, hard-to-remember type that the compiler...

20440
面向对象思考

C++核心准则ES.10:每次只定义一个名称

One declaration per line increases readability and avoids mistakes related to th...

9130
面向对象思考

C++核心准则ES.2: 适当的抽象好于直接使用语言功能

A "suitable abstraction" (e.g., library or class) is closer to the application c...

10720
面向对象思考

C++核心准则ES.1: 标准库好于其他库和手写代码

ES.1: Prefer the standard library to other libraries and to "handcrafted code"

10120
面向对象思考

C++核心准则R.37: 不要使用从破损的智能指针​获取的指针或引用

Violating this rule is the number one cause of losing reference counts and findi...

6430
面向对象思考

C++核心准则R.36: 使用const shared_ptr<widget>&类型参数表示可能持有一个对象的引用计数

R.36: 使用const shared_ptr<widget>&类型参数表示可能持有一个对象的引用计数。

9720
面向对象思考

C++核心准则R.33: 表达函数会重置widget时,使用unique_ptr<widget>&​作参数

R.33: 表达函数会重置widget时,使用unique_ptr<widget>&作参数。

6730
面向对象思考

C++核心准则R.32: 通过​unique_ptr<widget>类型参数表示函数试图获取widget的所有权

R.32: 通过unique_ptr<widget>类型参数表示函数试图获取widget的所有权

7920
面向对象思考

C++核心准则R.31:如果需要实现标准库以外的智能指针,遵照标准库中的基本模式​

The rules in the following section also work for other kinds of third-party and ...

6020
面向对象思考

C++核心准则R.30: 只有在包含明确的生命周期语义时使用智能指针作参数

Accepting a smart pointer to a widget is wrong if the function just needs the wi...

6620
面向对象思考

C++核心准则R.24: 使用std::weak_ptr打破share_ptrs造成的循环

shared_ptr's rely on use counting and the use count for a cyclic structure never...

8520
面向对象思考

C++核心准则R.23: 使用make_unique构建unique_ptr

For convenience and consistency with shared_ptr.

6720
面向对象思考

C++核心准则R.22: 使用make_shared()构建共享shared_ptr

If you first make an object and then give it to a shared_ptr constructor, you (m...

4910
面向对象思考

C++核心准则R.21:不需要共享所有权时应该使用unique_ptr而不是​shared_ptr

R.21:不需要共享所有权时应该使用unique_ptr而不是shared_ptr

6610
面向对象思考

C++核心准则R.20: 使用unique_ptr或者shared_ptr表示所有权

This will leak the object used to initialize p1 (only).

7010
面向对象思考

C++核心准则R.15: 应该成对重载分配和释放函数

Otherwise you get mismatched operations and chaos.

8110
面向对象思考

C++核心准则R.14: 避免使用[]参数,应该使用span

An array decays to a pointer, thereby losing its size, opening the opportunity f...

9620

扫码关注云+社区

领取腾讯云代金券