「研究しましょう」 ブログ 日記 マガジン 小耳情報

    やりたいことを探してネットをさまよう、そんな私のブログです --- I'm here. Find me out. 我在这里 查找和
0

c++ で、配列の個数を返すマクロ関数。変数の変数名を文字列で返すマクロ。ストリングを大文字に変える、小文字に変える、マクロ関数 ☆ #C #C++ #TIPs #マクロ #関数

 普通の c 言語は文字列を扱うのが面倒。c++ は、高機能さが中途半端で、微妙に使えない。そこで、c++ 用の、小さいマクロ・関数ライブラリーを、ちょっとずつ作っている。

以下がその例。ヘッダファイルなどに書く。#include <algorithm> をインクルードするのを、忘れないように( transform に必要)。

===

#include <algorithm>

//配列の個数を返すマクロ関数
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))

//引数にした変数を変数名を示す文字列リテラルとして返すマクロ関数
#define STR(var) #var

//ストリングを大文字に変えるマクロ関数
#define STRING_TO_UPPER(str_value) transform(str_value.cbegin(), str_value.cend(), str_value.begin(), toupper);

//ストリングを小文字に変えるマクロ関数
#define STRING_TO_LOWER(str_value) transform(str_value.cbegin(), str_value.cend(), str_value.begin(), tolower);
===

どうしてそうなるかは、私も、ネットを検索して見つけただけなので、分からない。

該当の記事は見つかりませんでした。

Leave a reply






管理者にだけ表示を許可する