このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

C/C++ の、空白で区切っただけで文字列連結

そう言えば、いつの頃からか、↓なことが出来るようになったのだよな。

#include <stdio.h>

int main()
{
    printf("hello, " "world\n");
    return 0;
}

これ、マクロ定義と組み合わせられる。

#include <stdio.h>
#define HELLO "hello"

int main()
{
    printf(HELLO ", " "world\n");
    return 0;
}

可変長マクロによるデバッグprintf。確かに昔より便利になった。こういうのを「進化」というのか微妙だけど。

#include <stdio.h>
#define DEBUG_PREFIX "Debug: "
#define DBG_PRINTF(...) printf(DEBUG_PREFIX __VA_ARGS__) 

int main()
{
    DBG_PRINTF("hello\n");
    DBG_PRINTF("2 + 3 = %d\n", 2 + 3);
    return 0;
}