LOG

include / macro

C++勉強目次

include

includeは指定されたファイルをinclude位置に展開する。

#include <iostream>   // 開発環境により提供されているヘッダファイルを優先して読み込む
#include "myHeader.h" // プロジェクト内の自分のヘッダファイルを優先して読み込む
  • ファイルの先頭部分で読み込まれるファイルをヘッダファイルという
  • 標準で用意されているヘッダファイルは標準ヘッダファイルという

macro

macroはinclude同様、macro指定位置に展開されてからコンパイルされる。
これを「マクロ展開」と言う。
書き方は

#define マクロ名 差し込むテキスト

// 引数を取りたい場合
#define マクロ名(引数) 差し込むテキスト

※ マクロの引数には型がない

特殊な演算子

マクロでだけ使える演算子説明
文字列化演算子仮引数をダブルクォーテーションをつけた状態にする
トークン連結演算子トークンを結合
#include <iostream>
using namespace std;

// 文字列化演算子
#define COUT(val) cout << #val << endl;

// トークン連結演算子
#define JOIN(str1, str2) str1##str2;

int main() {
    // your code goes here
    COUT(HELLO!);
    JOIN(C, OUT)(GOOD);
    return 0;
}