设计模式-C ++程序员应该使用哪些C ++习惯用法?

C ++程序员应该知道哪些C ++习惯用法?

用C ++习惯用语,是指仅适用于C ++或比大多数其他语言更适用于C ++的设计模式或做某些事情的方式。

为什么要使用成语?成语有什么作用?

Partial asked 2020-06-23T02:17:22Z
7个解决方案
55 votes

到目前为止,要学习并知道C ++唯一(几乎)唯一的最重要的“模式”是RAII(资源获取是初始化)。

编辑:(回答编辑为问题的其他问题)。 您主要使用RAII来(半)自动化资源管理。 最明显的用途是在拥有对象超出范围时释放对象拥有的资源,例如释放内存或关闭文件。

Jerry Coffin answered 2020-06-23T02:18:11Z
28 votes

这是一个清单。 如果我不得不挑选一对夫妇,我可能会选择“好奇地重复使用的模板模式”或“虚拟构造函数”。

Duck answered 2020-06-23T02:17:46Z
11 votes

PIMPL,又是实施的指针?

Dmitry answered 2020-06-23T02:18:31Z
8 votes

模板元编程。 很棒是因为它基本上是编译时的鸭子类型,因此您可以利用静态类型的速度获得大多数鸭子类型的灵活性。

dsimcha answered 2020-06-23T02:18:51Z
7 votes

如果要充分利用STL,则迭代器和函子/函数对象是必不可少的习惯用法。 迭代器的使用也隐含地依赖于“半开范围”习惯用法。

the_mandrill answered 2020-06-23T02:19:11Z
6 votes

利用强类型和const的正确性也非常有帮助。

我也禁止默认的复制构造函数和赋值运算符。 我实际上不仅仅如此,但是那些是最常见的。 我认为,如果不隐含生活,生活会更加轻松。

justin answered 2020-06-23T02:19:35Z
5 votes

RAII,COW,Pimpl,德米特律(不确定是否可以归类为成语),类型特征和策略。 (但是,COW和Demeter的法则并不限于C ++)

BostonLogan answered 2020-06-23T02:19:56Z
translate from https://stackoverflow.com:/questions/1759613/what-c-idioms-should-c-programmers-use