Google C++スタイルガイド学習ノート


1.define保護/
Tip
すべてのヘッダファイルは、#defineを使用してヘッダファイルが複数含まれることを防止する必要があります.名前付きフォーマットは、__H_
一意性を保証するために、ヘッダファイルの命名は、所在するプロジェクトのソースコードツリーの全経路に基づいなければならない.例えば、プロジェクトfooのヘッダファイルfoo/src/bar/baz.hは、以下のように保護することができる.
#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_
…
#endif // FOO_BAR_BAZ_H_



    
    
    
    

2. ¶

Tip

, : , .

C/C++ , , / . const , / -const . , . , ; .

. / ( / ) , , .



    
    
    
    

3. ¶

Tip

, : , .

C/C++ , , / . const , / -const . , . , ; .

. / ( / ) , , .

4. #include ¶

Tip

, : C , C++ , .h, .h.

, UNIX . ( ) .. ( ). , google-awesome-project/src/base/logging.h :
#include “base/logging.h”

えばdir/foo.ccの な はdir 2/foo 2を またはテストすることである.hの 、foo.ccに まれるヘッダファイルの は の りである.
  • dir2/foo2.h( 、 は の り)
  • Cシステムファイル
  • C++システムファイル
  • のライブラリの.hファイル
  • プロジェクト .hファイル
  • このようなソート は、 を に することができる. ヘッダファイルが してコンパイル であることを む(yospaly :すなわち、ヘッダファイル に な な がすべて まれている) も な は、それを にすることである.hファイル#includedは する.cc.
    dir/foo.ccとdir 2/foo 2.hは、 、 じディレクトリ(base/basictypes_unittest.ccやbase/basictypes.hなど)の にあるが、 なるディレクトリの に くこともできる.
    アルファベット にヘッダファイルに ソートを めるのはいいアイデアです(yospaly : はヘッダファイルのカテゴリ にソートしていました).
    えば、google-awesome-project/src/foo/interna l/fooserver.ccの は の りである.
    #include "foo/public/fooserver.h" //     
    #include <sys/types.h>
    #include <unistd.h>
    #include <hash_map>
    #include <vector>
    #include "base/basictypes.h"
    #include "base/commandlineflags.h"
    #include "foo/public/bar.h"