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

时间:2008-10-06 17:12:50

标签: c++

每隔一段时间,我就必须在我编写的大多数代码(无论是工作还是播放)之间切换语言。我发现C ++是那些需要大量心理缓存空间的语言之一,所以如果我从中休息一段时间,那么我会忘记很多细节。甚至将项目添加到STL容器或在各种上下文中使用static存储关键字都会使所有内容混乱(“是addappendpush ......哦,它是push_back“)。

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

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

17 个答案:

答案 0 :(得分:19)

当我从Java切换回C ++时,我想查看Herb Sutter和Andrei Alexandrescu的C++ Coding Standards项目。

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

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

  • 使用std::swap()
  • “如果有疑问,请按照这样做。” (Scott Meyers)
  • const *表示常量数据,* const表示常量指针(向后读取decl!)。
  • 在具有动态分配数据的类中声明赋值运算符和复制构造函数。
  • C ++将编写一个赋值运算符&如果您没有自己声明一个,请复制构造函数。除非你声明它们(私有的,最有可能的)并且省略它们来定义它们。
  • 让operator =()返回对*this
  • 的引用
  • 在Derived的复制构造函数的init列表中调用Base(rhs)。
  • 在Derived的Base::operator=(rhs);
  • 中致电operator=()
  • 检查operator=()
  • 中的自我分配
  • 不要通过调用复制构造函数来实现operator=()(Herb Sutter,Write what you Know, and Know what you Write
  • 记住RAII
  • 通过引用捕获异常

答案 1 :(得分:15)

在我的备忘单上: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。

答案 2 :(得分:9)

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

我还没想出如何将PDF加载到我的大脑中。

答案 3 :(得分:6)

由于我一直在使用C ++,因此我将大部分语法保留在脑海中。对于图书馆参考,我使用了sgiJosuttis'本书。当我暂时没有完成C ++并且真的想要复习时,我会回到Effective C++

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

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

答案 4 :(得分:5)

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

每次我必须这样做时,我需要看一下这个。真正处理函数指针细节的任何东西总是会调整我的大脑。我发现Function Pointer Tutorials是一个相当不错的参考。

答案 5 :(得分:5)

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

答案 6 :(得分:4)

不是真的在备忘单上,并不是特别针对C ++,但我有“冲洗缓冲区!”在粘滞便笺上提醒我,当我没有收到数据时可能出现的问题。

答案 7 :(得分:4)

我将这整个网站放在一般的秘籍表中:

http://www.cheat-sheets.org/#CPP

cpp cheatsheet有点基础,但STL很有用。

答案 8 :(得分:3)

我使用网站cplusplus.com。它是C和C ++编程的绝佳参考。

答案 9 :(得分:2)

模板专业化。我总是需要查阅。

答案 10 :(得分:2)

我有一个操作员优先级图表的一小部分复制到我的立方体墙上。

答案 11 :(得分:1)

就运营商而言,cpp.operator-precedence.com

答案 12 :(得分:1)

Scott Meyer的TR1摘要页面,http://www.aristeia.com/EC3E/TR1_info.html

答案 13 :(得分:0)

对于STL和其他标准< include> s

Dinkumware Compleat Reference

答案 14 :(得分:0)

对于那些想要快速参考和回顾的人,这里有C ++备忘单

C++ cheat sheet - part 1
C++ cheat sheet - part 2

答案 15 :(得分:0)

实际上,让我在C#和C#之间切换最多的东西C ++是构造函数语法。 (我一直想为所有事情使用“新”)。

答案 16 :(得分:-1)

访问Google并为我输入足够的内容。

不可否认,我在工作环境中拥有近乎有保障的网络访问权限。由于某种原因失败,我也有四个标准的PDF文件。

这方面的缺点是在C ++访谈中的事实Q& A部分中,猜测/知识比率很高。好处是我非常擅长自己的工作。 :P

相关问题