基本 その1『#defineとか』

覚書です。

#defineとかについてです。。

使い方としては

#include
#include


#define VALUE 100

int main()
{
std::cout << VALUE << std::endl;

return 0;
}

出力:
100


かなり一般的ですね。
というより、こんな使い方をするならstatic const int とか使えばいい気がしますけど…。

#include
#include

static const int VALUE = 100;

int main()
{
std::cout << VALUE << std::endl;

return 0;
}

出力:
100



しかし、defineに関してはこんな有用な使い方が有ります

#include
#include

#define DEBUG   //●デバッグモードですよ
//↑本来は、スタートアップで設定しとくべき

//ファイルパス
#define PATH "D:\\PG\\"
//デバッグ時の出力ファイル名
#define DEBUG_FILENAME "Debug"
//リリース時の出力ファイル名
#define RELEASE_FILENAME "Release"
//拡張子
#define FILE_EXTENSION ".txt"    

//デバッグの時
#ifdef DEBUG
#define OUTPUT_FILENAME PATH DEBUG_FILENAME FILE_EXTENSION
#endif

//リリースの時
#ifdef RELEASE
#define OUTPUT_FILENAME PATH RELEASE_FILENAME FILE_EXTENSION
#endif

int main()
{
std::cout << OUTPUT_FILENAME << std::endl;

return 0;
}

出力:
D:\PG\Debug.txt



#define DEBUG   //●デバッグモードですよ

#define RELEASE  これに変更するだけで出力が

D:\PG\Release.txt  になります。


文字列の操作を行う場合にはdefineが非常に便利です。
今回はファイルパスの指定をサンプルしましたけど、
他にも用途は有るのではないでしょうかね?


こんな感じでその1終了