当前位置:  开发笔记 > 编程语言 > 正文

您的C++备忘单上有什么?

如何解决《您的C++备忘单上有什么?》经验,为你挑选了6个好方法。

每隔一段时间,我就必须在我编写的大部分代码(无论是工作还是播放)之间切换语言.我发现C++是那些需要大量心理缓存空间的语言之一,所以如果我从中休息一段时间,那么我会忘记很多细节.即使是像将项目添加到一个STL容器,或使用的东西static在不同的上下文中存储的关键字得到所有混乱的("是add,append,push...哦,这是push_back").

那么当你编写C++时,你喜欢什么基本的花絮加载到你的大脑中?

编辑:我应该说,我希望能够为此页面添加书签并将其用作我的备忘单:)



1> Sébastien Ro..:

当我从Java切换回C++时,我喜欢回顾Herb Sutter和Andrei Alexandrescu撰写的C++ Coding Standards中的项目.

Scott Meyers的Effective C++系列也非常适合这一点.

以下是适合我的快速基本内容:

使用 std::swap()

"当有疑问时,就像投注那样做." (斯科特迈耶斯)

const *表示常量数据,* const表示常量指针(向后读取decl!).

在具有动态分配数据的类中声明赋值运算符和复制构造函数.

如果你自己没有声明,C++会为你编写赋值运算符和复制构造函数.除非你声明它们(私有的,最有可能的)并且省略它们来定义它们.

让operator =()返回一个引用 *this

在Derived的复制构造函数的init列表中调用Base(rhs).

打电话给Base::operator=(rhs);Derived'soperator=()

检查自我分配 operator=()

不要operator=()通过调用复制构造函数来实现(Herb Sutter,写下你所知道的,知道你写的是什么)

记住RAII

通过引用捕获异常



2> jonner..:

在我的备忘单上:const和指针之间的交互:

int       *       p;  // pointer
int const *       p;  // pointer to const value
int       * const p;  // const pointer
int const * const p;  // const pointer to const value

本质上,在*符号上拆分声明,如果const落在左边,指向的值是const,如果它落到右边,指针本身就是const.


我看到了关于如何记住这些的很好的回应,你只需要向后阅读它们.ie int*const p - p是指向int int const的p指针 - p是指向const int的指针.
它并不复杂:_const适用于左边(除非那里没有任何东西,在这种情况下它适用于右边)_

3> Kristopher J..:

我保持打开C++标准的PDF.它很适合快速查找所有库接口(特别是容器接口和iostream的东西).它对于快速解决同事关于C++语法和语义的争论也很有用.

我还没弄明白如何将PDF加载到我的大脑中.


如果您成功将PDF加载到大脑中,我也会感兴趣!:)

4> Matt Price..:

由于我一直在使用C++,因此我将大部分语法都保留在脑海中.对于图书馆参考,我使用sgi和Josuttis的书.当我还没有完成C++一段时间并且真的想要复习时,我会回到Effective C++.

当我需要更深入的问题时,我会参考标准或Stroustrup的书.

当所有其他方法都失败时,google和stackoverflow都是很棒的工具.



5> Scott Saad..:

实现对非静态C++成员函数的回调

每次我必须这样做,我需要看一下这个.真正处理函数指针细节的任何东西总是倾向于调整我的大脑.我发现函数指针教程是一个相当不错的参考.



6> James Curran..:

在我的C Cheatsheet上(以及在扩展的C++上),指向函数语法的指针.


对于C++,指向成员函数的指针是我在使用时总是要查找的.
推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有