私は、条件付きで単純な関数を持っていれば、何かを返します。関数の引数として渡されたときに評価される前に、式の内容を取得することは可能ですか?
例えば:
bool is_even(int num){
return (num % 2 == 0);
}
void Foo(conditional)
{
if(conditional)
std::cout << "Bar" << std::endl;
}
それは引数またはそれが機能して評価だ前に、条件に入った全体としての表現を取得することはできますか?
条件式がis_even(2)の場合、true値(True)ではなく、評価する前に式is_even(2)を取得できますか?
struct Bar
{
bool operator()() const;
};
とあなたが、その後Bar
にどのような状態をカプセル化することができます
template <typename Y>
void Foo(const Y& y)
{
if(y()){
std::cout << "Bar" << std::endl;
}
}
を書く:
CまたはC++でプログラミングしていますか? – Bathsheba
No. BTW、 'return num%2 == 0;' – juanchopanza
@Bathsheba私はそれをC++にクリアしました、残念です。私はこれを取り込む可能性のある方法であるCスタイルのマクロのためにC言語のみを含んでいました。 – Fields