呼び出し元ごとにフル機能の複数のコピーを作成する必要なく、関数呼び出し元によって実行されるものを指示するいくつかのキーワードを使用して、複数のC++関数コンテンツをコンパイルできますか?呼び出し元に基づくC++関数の内容
今のところ解決策は、呼び出し元に応じて関数と文を実行するためのパラメータを使用することです。
V sol::compare(uchar start_lev, V *a , V *b){
solMutex.lock(); // not needed by all callers
for(auto lev:solVec){
switch (lev.group){
case a:
dontRemove=0;
val++; // not used by all callers
return something;
case b:
val++; //not used by all callers
return something;
case c:
etc...
}
#ifdef QT_DEBUG // not needed by all callers
ことができる単一の機能をコーディングし、いくつかのキーワードを追加し、それが別の発信者に応じて、機能の未使用部分のオーバーヘッドなしに、いくつかのバリエーションをコンパイルする場合。
これは、関数呼び出しに応じて関数を実行するための関数のパラメータです。さもなければ、関数はそれを呼び出した人を何とか魔法のように判断する手段がありません。 –
テンプレートをお探しですか?あなたが書きたいと思うコードの簡潔なサンプルを私達に与えてください。 –
プログラムのパフォーマンスを強化する部分で、呼び出し元に応じて4つの変更されたバージョンの関数を使用します。 – Flow