マクロ定義の別の使い方

673 ワード

同じタイプ、同じ接頭辞の名前を定義する変数
じょうふごう
#include 
using namespace std;

#define NAMES   \
    NAME(a);     \
    NAME(b); \

#define NAME(name)   int  int_ ## name;
    NAMES
#undef NAME

#define NAME(name)   char  char_ ## name;
    NAMES
#undef NAME

int main(int argc, char *argv[])
{
    int temp = 10;
    int_a = temp;
    cout << int_a << endl;
    cout << int_b << endl;

    cout << char_a << endl;
    cout << char_b << endl;
    return 0;
}



 
  • の利点は、変数タイプと接頭辞を一括して変更する場合に便利であることです.
  • 同じタイプの同接頭辞変数が多くない場合は、このような方法でデバッグするのは容易ではなく、読むときも小さなカーブを曲がることをお勧めします.