2016年10月31日C++を勉強していた時期から苦手だったのがプリプロセッサでした。C++に限った話ではありませんが、書籍などでは紙面の関係上ソースファイルを大きく分けたりしないためかプリプロセッサの説明などが不十分であるような気もします。definedや#pragmaが頻繁に登場して本当に辟易することがあります。今回は復習も兼ねて順番に確認し直そうと思います。まとめ#include#includeプリプロセッサ・ディレクティブはマクロやクラス定義などが記述されたヘッダーファイルを読み込みます。"something.h"上記の構文はどちらも正しいですが、山かっこ形式と引用符形式では囲まれたヘッダーファイルをどの順番で探し出すかが異なります。基本的にはコンパイラをインストールした際に付属するヘッダーファイルを検索する場合は山かっこ形式を、コンパイルするソースファイルがあるディレクトリにあるヘッダーファイルを検索する場合は引用符形式で指定します。言えば、iostreamなど標準のヘッダーファイルであれば<>(山かっこ形式)を、それ以外のものは””(引用符形式)で指定すれば大体は問題ありません。#define#defineディレクティブは本当に利用の幅が広いです。基本的にはマクロの定義を行うプリプロセッサとなります。3.14上記のように記載されていれば、コンパイラが「VERSIONと記述された箇所を3.14に置換」します。pi;}と記述されれば、VERSIONが3.14に置換され、double型変数piは3.14で初期化されます。関数形式マクロ上記のような使い方以外にも#defineの置換はさまざまな場面で利用されます。2)は以下のように置換されます。まとめこの辺りはまだ簡単に思えますが、#defineが曲者です。##演算子と羅列したプリプロセッサは全て#defineと関連してきます。その3プログレスバーをマルチスレッドを用いた実装について最後の記事です。スレッド実行中はモーダルダイアログを表示させること。...【Boost】Boostライブラリの日付を使ってみよう!先日の記事でBoostをインストールできたのでBoostのライブラリを使って遊んでみましょう。インストールを行ったOpenCVライブラリを使ってサンプルプログラムをいくつか作成してみましょう。...【C++11】後処理が必要なリソースはスマートポインタを使おうオープンソースのライブラリのソースコードを呼んでいるとC++11で追加されたunique_ptrを使用しているところもちらほらと見られるようになってきています。...PREVC++でインターフェイスを作成しよう。