![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 编码规范
海的神话
每天进步一点点
展开
-
头文件(1)
闲来无事,学习google c++编码规范,英语不好翻译不对的地方请各位大神指正。 头文件 一般来说,每个cpp文件都会有相应的头文件。当然也有例外的情况,比如仅仅包含main方法的cpp文件。正确的使用头文件,可以使你的代码在大小,可读性和性能方面产生巨大的差异。以下的规则将引导你避免使用头文件的误区 一、#define 保护 所有的头文件应该有#define 保护以防止头文件被多翻译 2013-03-16 13:25:26 · 750 阅读 · 0 评论 -
google编码规范-----C++其他特性(3)
Const的使用 在任何有意义的地方使用const。常量表达式是用const的不错的选择。 定义: 在声明变量和参数是用const修饰表明此变量不会被改变。类函数也可以用const修饰表示此函数不会改变类成员。 优点: 人们很容易理解变量怎么用。编译器也能更好的进行类型检查,产生更好的代码。帮助人们确信他们程序的正确性,因为他们知道他们调用的函数被限定如何修改你的变量。帮翻译 2013-06-06 00:51:12 · 989 阅读 · 0 评论 -
C++其他特性(2)
异常 我们不使用C++异常 优点: 1、 异常允许一个程序在较高层次处理深度嵌套的函数中看似不可能出现的失败,而不用模糊的失败代码。 2、 其他现代的语言基本上都使用异常:在C++中使用异常可以与Python, Java保持一致。 3、 一些第三方C++库使用异常,内在的关闭异常会使得难以与这些库兼容。 4、 异常是构造函数解决运行失败的唯一方法。我们可以用工厂方法或者Init翻译 2013-04-21 15:16:43 · 685 阅读 · 0 评论 -
C++其他特性(1)
引用参数 传引用的参数必须用const。 定义: 在C编程,如果一个函数需要改变一个变量,参数必须是指针,例如intfoo(int *pval)。在C++中,函数可以声明参数为引用:intfoo(int &val) 有点: 定义引用参数可以避免像(*pval)++的丑陋代码。这对于像拷贝构造函数的程序来说很有必要。很清楚,不像指针不能为null。 缺点:翻译 2013-04-01 22:49:42 · 586 阅读 · 0 评论 -
类
类 类是c++代码的基本单元,自然使用就很广泛。本章列出了一些在写类时需要注意的事项。 构造函数的职责 不要在构造函数里做复杂的初始化。 定义: 在构造函数里做初始化操作。 优点: 方便排版,无需担心类是否已经初始化。 缺点: 1、 不容易报告错误,不能使用异常。 2、 如果操作失败,我们得到的是一个初始化是吧的对象,它有着不确定的状态。 3、 如果调用了虚函数,翻译 2013-03-31 12:08:09 · 647 阅读 · 0 评论 -
作用域
名空间 命名空间 我们鼓励在.cpp文件使用匿名命名空间;也可以使用具名命名空间,选择一个基于项目的名称。不要用使用指令。 定义: 命名空间把全局范围细分为不同的具名的作用域,对于避免在全局范围的名称冲突是很有用的。 优点: 命名空间提供了一种分层的命名,除了命名空间之外,类也提供了这种分层的命名方式。 例如,有两个不同的工程,它们都拥有一个全局的类Foo,在编译或者翻译 2013-03-30 11:48:47 · 806 阅读 · 0 评论 -
Google特有戏法
有各种技巧和工具可以使得C++代码更加健壮。有很多不同与其他地方的C++使用方式。 智能指针 如果你需要真正语意上的智能指针,scoped_ptr是很好的。你应该只使用std::tr1::shared_ptr,当一个对象需要共享其所有权时。不要使用auto_ptr。 定义: 智能指针实际上跟普通的指针一样,只是它自动对内存进行管理。 优点: 智能指针对防止内存泄翻译 2013-03-31 13:41:58 · 626 阅读 · 0 评论 -
头文件(2)
三、内联函数 定义内联函数当函数很小,例如小于10行 定义: 你可以定义内联函数使得在使用到内联函数的地方进行展开,而不是像普通函数一样通过函数调用机制进行调用。 优点: 只要内联函数够小,就能产生更高效的目标代码。可以随意的内联访问存储器和其他短、关键的方法。 缺点: 过度的使用内联函数会使得程序变慢。代码的大小直接取决于内联函数的大小。内联一翻译 2013-03-16 15:44:11 · 745 阅读 · 0 评论 -
google编码规范——Naming
General Naming Rules 函数名,变量名和文件名应该是描述性的,要避免缩写。类型和变量应该是名词,函数名应该是带有命令式的动词。 How to Name 尽可能给出一个描述性的合理的名字。不要担心节省水平空间,因为这并远远不及使得你的代码让新读者容易读懂重要。以下都是好的命名: int num_errors; // Good.翻译 2013-06-07 22:02:18 · 1031 阅读 · 0 评论