C/C++言語のコンパイラにはマクロという機能があります。
マクロは文字列の置き換えを行う機能で、プリ・プロセッサで処理されます。
マクロを使うと定数や式を代替の文字列で、記述できます。
マクロは#define
をつかって宣言を行います。
文字定数をマクロを使っておこなうばあいは、次のようになります
#define MAXSTRLEN 256
class getstr{
char data[MAXSTRLEN];
int count
iostrem io;
int fopen(char *filename);
int getstr();
int close();
void getstr(){ count=0; }
}
class getstr:: int getstr()
{
do(!io.eof() || MAXSTRLEN != count)
data[count++]=io.get();
return count;
}
.......... 以下省略
とかある場合は、do(!io.eof() || MAXSTRLEN != count)
はプリプロセッサによってdo(!io.eof() || 256 != count)
のようにテキストが置きかえられてから、コンパイラに渡されてコンパイルされます。
マクロはソースファイルに記述するほかに、コンパイラのコマンドラインからも宣言を指定できます。
著作権2000年 © 大槻昌弥
ご意見ご要望は問い合わせフォームまでお願いします。なお、メールウェアが「HTMLを含むマルチパートMIME」を理解できませんので、なるべくiso2022-jpのプレーンテキストで送信願います。
また、Webサイトの内容に関するお問い合わせは、整理の都合で出来るだけURIを明記するようにお願いします。