S-JIS[2006-10-30] プリプロセッサ処理 C言語の特徴のひとつに、ソースの前処理(プリプロセス)というものがある。 これは、コンパイラーがコンパイルを行う前に、プリプロセッサがプリプロセッサ命令(「#」で始まるコマンド等)を処理するもの。いわゆる「マクロ」の展開。 とても便利で強力な機能だが、下手に使うとソースがどう展開されるかさっぱり分からないことになってしまうので要注意。 プリプロセッサ命令は、基本的に「#」で始まり、行末で終わる。(通常のC言語の構文では、行末かどうかは無関係だが) 「#」と命令の間にはスペースを入れてもよい。 複数行にまたがるプリプロセッサ命令を書きたい場合は、行の継続記号として、行末に「\」を置く。 また、コメントを処理(ソースから削除)するのもプリプロセッサの仕事。 gccなら「-E」オプション、VC++なら「/E」オプションを付けることにより、プ
【環境】Visual Studio.NET 2003/ WindowsXP Pro. 折角やったので自分のためにもネタにしやすい部分を記録として残しておきます。 RVO(Return Value Optimization)とは値渡しでオブジェクトを返す関数において関数内で生成され計算される一時オブジェクトを生成せずに、戻り値となる一時オブジェクトに直接を計算をしようという最適化です。これにより一時オブジェクトの生成を1つ減らすことができ汎用される関数においてはパフォーンマンスの向上が見込めます。と、書いても分かりづらいので例を出します。通例、加算演算子は次の様に定義されます。 const Complex operator +( const Complex &lhs, const Complex &rhs ){ //…(1) Complex temp(lhs); lhs += rhs; re
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く