Google C++编程规范.pdf
《Google C++编程规范.pdf》由会员分享,可在线阅读,更多相关《Google C++编程规范.pdf(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、GoogleGoogleGoogleGoogle C+C+C+C+编程规范编程规范目录目录一、头文件一、头文件.4 4 4 41.1.1.1.#define#define#define#define的保护的保护.4 4 4 42.2.2.2.头文件依赖头文件依赖.4 4 4 43.3.3.3.内联函数内联函数.5 5 5 54.4.4.4.-inl.h-inl.h-inl.h-inl.h 文件文件.5 5 5 55.5.5.5.函数参数顺序(函数参数顺序(FunctionFunctionFunctionFunction ParameterParameterParameterParameter
2、OrderingOrderingOrderingOrdering).5 5 5 56.6.6.6.包含文件的名称及次序包含文件的名称及次序.6 6 6 6二、作用域二、作用域.7 7 7 71.1.1.1.命名空间(命名空间(NamespacesNamespacesNamespacesNamespaces).7 7 7 72.2.2.2.嵌套类(嵌套类(NestedNestedNestedNested ClassClassClassClass).9 9 9 93.3.3.3.非成员函数(非成员函数(NonmemberNonmemberNonmemberNonmember)、静态成员函数()、静
3、态成员函数(StaticStaticStaticStatic MemberMemberMemberMember)和全局函)和全局函数(数(GlobalGlobalGlobalGlobal FunctionsFunctionsFunctionsFunctions).9 9 9 94.4.4.4.局部变量(局部变量(LocalLocalLocalLocal VariablesVariablesVariablesVariables).101010105.5.5.5.全局变量(全局变量(GlobalGlobalGlobalGlobal VariablesVariablesVariablesVariab
4、les).10101010三、类三、类.111111111.1.1.1.构造函数(构造函数(ConstructorConstructorConstructorConstructor)的职责)的职责.111111112.2.2.2.默认构造函数(默认构造函数(DefaultDefaultDefaultDefault ConstructorsConstructorsConstructorsConstructors).121212123.3.3.3.明确的构造函数(明确的构造函数(ExplicitExplicitExplicitExplicit ConstructorsConstructorsCon
5、structorsConstructors).121212124.4.4.4.拷贝构造函数(拷贝构造函数(CopyCopyCopyCopy ConstructorsConstructorsConstructorsConstructors).131313135.5.5.5.结构体和类(结构体和类(StructsStructsStructsStructs vs.vs.vs.vs.ClassesClassesClassesClasses).141414146.6.6.6.继承(继承(InheritanceInheritanceInheritanceInheritance).141414147.7.7
6、.7.多重继承(多重继承(MultipleMultipleMultipleMultiple InheritanceInheritanceInheritanceInheritance).151515158.8.8.8.接口(接口(InterfaceInterfaceInterfaceInterface).151515159.9.9.9.操作符重载(操作符重载(OperatorOperatorOperatorOperator OverloadingOverloadingOverloadingOverloading).1616161610.10.10.10.存取控制(存取控制(AccessAcces
7、sAccessAccess ControlControlControlControl).1616161611.11.11.11.声明次序(声明次序(DeclarationDeclarationDeclarationDeclaration OrderOrderOrderOrder).1717171712.12.12.12.编写短小函数(编写短小函数(WriteWriteWriteWrite ShortShortShortShort FunctionsFunctionsFunctionsFunctions).17171717四、四、GoogleGoogleGoogleGoogle 特有的风情特有的
8、风情.181818181.1.1.1.智能指针(智能指针(SmartSmartSmartSmart PointersPointersPointersPointers).18181818五、其他五、其他 C+C+C+C+特性特性.191919191.1.1.1.引用参数引用参数(ReferenceReferenceReferenceReference ArgumentsArgumentsArgumentsArguments).191919192.2.2.2.函数重载函数重载(FunctionFunctionFunctionFunction OverloadingOverloadingOverlo
9、adingOverloading).191919193.3.3.3.缺省参数缺省参数(DefaultDefaultDefaultDefault ArgumentsArgumentsArgumentsArguments).202020204.4.4.4.变长数组和变长数组和 allocaallocaallocaalloca(Variable-LengthVariable-LengthVariable-LengthVariable-Length ArraysArraysArraysArrays andandandand alloca()alloca()alloca()alloca()).20202
10、0205.5.5.5.友元(友元(FriendsFriendsFriendsFriends).202020206.6.6.6.异常(异常(ExceptionsExceptionsExceptionsExceptions).202020207.7.7.7.运行时类型识别运行时类型识别(Run-TimeRun-TimeRun-TimeRun-Time TypeTypeTypeType Information,Information,Information,Information,RTTIRTTIRTTIRTTI).222222228.8.8.8.类型转换(类型转换(CastingCastingCa
11、stingCasting).222222229.9.9.9.流流(StreamsStreamsStreamsStreams).2323232310.10.10.10.前置自增和自减前置自增和自减(PreincrementPreincrementPreincrementPreincrement andandandand PredecrementPredecrementPredecrementPredecrement).2424242411.11.11.11.constconstconstconst 的使用的使用(UseUseUseUse ofofofof constconstconstconst
12、).2424242412.12.12.12.整型整型(IntegerIntegerIntegerInteger TypesTypesTypesTypes).2525252513.13.13.13.64646464 位下的可移植性位下的可移植性(64-bit64-bit64-bit64-bit PortabilityPortabilityPortabilityPortability).2626262614.14.14.14.预处理宏预处理宏(PreprocessorPreprocessorPreprocessorPreprocessor MacrosMacrosMacrosMacros).272
13、7272715.15.15.15.0 0 0 0 和和 NULLNULLNULLNULL(0 0 0 0 andandandand NULLNULLNULLNULL).2727272716.16.16.16.sizeofsizeofsizeofsizeof(sizeofsizeofsizeofsizeof).2828282817.17.17.17.BoostBoostBoostBoost 库(库(BoostBoostBoostBoost).28282828六、命名约定六、命名约定.292929291.1.1.1.通用命名规则通用命名规则(GeneralGeneralGeneralGeneral
14、 NamingNamingNamingNaming RulesRulesRulesRules).292929292.2.2.2.文件命名(文件命名(FileFileFileFile NamesNamesNamesNames).303030303.3.3.3.类型命名类型命名(TypeTypeTypeType NamesNamesNamesNames).313131314.4.4.4.变量命名变量命名(VariableVariableVariableVariable NamesNamesNamesNames).313131315.5.5.5.常量命名常量命名(ConstantConstantCo
15、nstantConstant NamesNamesNamesNames).313131316.6.6.6.函数命名函数命名(FunctionFunctionFunctionFunction NamesNamesNamesNames).323232327.7.7.7.命名空间命名空间(NamespaceNamespaceNamespaceNamespace NamesNamesNamesNames).323232328.8.8.8.枚举命名枚举命名(EnumeratorEnumeratorEnumeratorEnumerator NamesNamesNamesNames).323232329.9
16、.9.9.宏命名宏命名(MacroMacroMacroMacro NamesNamesNamesNames).3333333310.10.10.10.命名规则例外命名规则例外(ExceptionsExceptionsExceptionsExceptions totototo NamingNamingNamingNaming RulesRulesRulesRules).33333333七、注释七、注释.343434341.1.1.1.注释风格注释风格(CommentCommentCommentComment StyleStyleStyleStyle).343434342.2.2.2.文件注释文件
17、注释(FileFileFileFile CommentsCommentsCommentsComments).343434343.3.3.3.类注释类注释(ClassClassClassClass CommentsCommentsCommentsComments).343434344.4.4.4.函数注释函数注释(FunctionFunctionFunctionFunction CommentsCommentsCommentsComments).353535355.5.5.5.变量注释变量注释(VariableVariableVariableVariable CommentsCommentsCo
18、mmentsComments).363636366.6.6.6.实现注释实现注释(ImplementationImplementationImplementationImplementation CommentsCommentsCommentsComments).373737377.7.7.7.标点、拼写和语法标点、拼写和语法(Punctuation,Punctuation,Punctuation,Punctuation,SpellingSpellingSpellingSpelling andandandand GrammarGrammarGrammarGrammar).383838388.8
19、.8.8.TODOTODOTODOTODO 注释注释(TODOTODOTODOTODO CommentsCommentsCommentsComments).38383838八、格式八、格式.393939391.1.1.1.行长度行长度(LineLineLineLine LengthLengthLengthLength).393939392.2.2.2.非非 ASCIIASCII 字符字符(Non-ASCIINon-ASCIINon-ASCIINon-ASCII CharactersCharactersCharactersCharacters).404040403.3.3.3.空格还是制表位空格
20、还是制表位(SpacesSpacesSpacesSpaces vs.vs.vs.vs.TabsTabsTabsTabs).404040404.4.4.4.函数声明与定义函数声明与定义(FunctionFunctionFunctionFunction DeclarationsDeclarationsDeclarationsDeclarations andandandand DefinitionsDefinitionsDefinitionsDefinitions).404040405.5.5.5.函数调用函数调用(FunctionFunctionFunctionFunction CallsCall
21、sCallsCalls).424242426.6.6.6.条件语句条件语句(ConditionalsConditionalsConditionalsConditionals).434343437.7.7.7.循环和开关选择语句循环和开关选择语句(LoopsLoopsLoopsLoops andandandand SwitchSwitchSwitchSwitch StatementsStatementsStatementsStatements).444444448.8.8.8.指针和引用表达式指针和引用表达式(PointersPointersPointersPointers andandanda
22、nd ReferenceReferenceReferenceReference ExpressionsExpressionsExpressionsExpressions).454545459.9.9.9.布尔表达式布尔表达式(BooleanBooleanBooleanBoolean ExpressionsExpressionsExpressionsExpressions).4646464610.10.10.10.函数返回值函数返回值(ReturnReturnReturnReturn ValuesValuesValuesValues).4646464611.11.11.11.变量及数组初始化变量
23、及数组初始化(VariableVariableVariableVariable andandandand ArrayArrayArrayArray InitializationInitializationInitializationInitialization).4646464612.12.12.12.预处理指令预处理指令(PreprocessorPreprocessorPreprocessorPreprocessor DirectivesDirectivesDirectivesDirectives).4646464613.13.13.13.类格式类格式(ClassClassClassClas
24、s FormatFormatFormatFormat).4747474714.14.14.14.初始化列表初始化列表(InitializerInitializerInitializerInitializer ListsListsListsLists).4848484815.15.15.15.命名空间格式化命名空间格式化(NamespaceNamespaceNamespaceNamespace FormattingFormattingFormattingFormatting).4848484816.16.16.16.水平留白水平留白(HorizontalHorizontalHorizontalH
25、orizontal WhitespaceWhitespaceWhitespaceWhitespace).4949494917.17.17.17.垂直留白垂直留白(VerticalVerticalVerticalVertical WhitespaceWhitespaceWhitespaceWhitespace).50505050九、规则之例外九、规则之例外.525252521.1.1.1.现有不统一代码现有不统一代码(ExistingExistingExistingExisting Non-conformantNon-conformantNon-conformantNon-conformant
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Google C+编程规范 C+ 编程 规范
限制150内