Google C++ Style Guide Revision 3.180 Benjy Weinberger Craig Silv erstein Gregory Eitz mann Mark Mentov ai Tashana Landray Each style point has a summary for which additional information is available by toggling the accompanying arrow button that looks this way:▽ . You may toggle all summaries with the big arrow button: ▽ Toggle all summaries Table of Contents Header FilesThe #define Guard Header File DependenciesInline Functions The -inl.h FilesFunction Parameter OrderingNames and Order of Includes ScopingNamespaces Nested ClassesNonmember, Static Member, and Global FunctionsLocal Variables Static and Global Variables ClassesDoing Work in ConstructorsDefault Constructors Explicit ConstructorsCopy Constructors Structs vs. ClassesInheritance Multiple InheritanceInterfaces Operator OverloadingAccess Control Declaration OrderWrite Short Functions Google-Specific MagicSmart Pointers cpplint Other C++ FeaturesReference Arguments Function OverloadingDefault ArgumentsVariable-Length Arrays and alloca() FriendsExceptions Run-Time Type Information (RTTI)Casting StreamsPreincrement and Predecrement Use of constInteger Types 64-bit PortabilityPreprocessor Macros 0 and NULL sizeofBoost C++0x NamingGeneral Naming Rules File Names Type NamesVariable Names Constant NamesFunction Names Namespace NamesEnumerator Names Macro NamesExceptions to Naming Rules CommentsComment Style File Comments Class CommentsFunction Comments Variable CommentsImplementation CommentsPunctuation, Spelling and GrammarTODO Comments Deprecation Comments FormattingLine Length Non-ASCII CharactersSpaces vs. TabsFunction Declarations and DefinitionsFunction Calls ConditionalsLoops and Switch StatementsPointer and Reference ExpressionsBoolean Expressions Return ValuesVariable and Array InitializationPreprocesso...