このコラムの記事一覧
1. オブジェクト指向とは
2. C言語でもオブジェクト指向を実装できる
3. カプセル化を解決し、インターフェイスを回避する
5.コードの冗長性を避けるためにテンプレートを合理的に使用する
6. C++ にも反映できます
7. シングルトン モードは、静的メンバー オブジェクトとグローバル オブジェクトの構築順序の問題を解決します
8. より高度なプリプロセッサ PHP
8. 詳細 高度なプリプロセッサ PHP
C++ マクロは、場合によっては非常に使いにくい場合があります。たとえば、コードは次のように展開されます:
Macro(A, B, C, D)
=>
func(“A ", A) ;
func(“B”, B); func(“C”, C); func(“D”, D);
テスト(A);
テスト(B);
テスト(C);
test(D);
これはマクロにとっては難しすぎます。複雑なマクロ展開を実現するには、より高度なプリプロセッサを使用してこの関数を実装したいと考えています。
ここでは PHP を使用してコードを前処理し、PHP コードを C++ マクロとして使用します。
もちろん、Python を使用してコードを生成することもできますが、PHP が組み込まれているため、より扱いやすい場合があります。もちろん、他の言語でもテンプレートを搭載できます。
<code><span>/* main.php */</span> <?php $return_m = <span>"return a + b;"</span> ?> <span>#include <iostream></span><span>using</span><span>namespace</span><span>std</span>; <span>int</span> func(<span>int</span> a, <span>int</span> b) { <?php echo $return_m; ?> } <span>int</span> main() { <span>cout</span> << func(<span>1</span>, <span>2</span>) << endl; <span>return</span><span>0</span>; }</code>
<code>php main.php > main.cpp </code>
OK、以下は通常のプロジェクトのコンパイルと同じです。メイクファイルに php コマンドを記述して
を自動的に生成することもできます。
上記では、C および C++ (8) のより高度なプリプロセッサである PHP のオブジェクト指向のトピックを、その側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。