Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

宏 BOOST_YAP_USER_EXPR_IF_ELSE - Boost C++ 函数库
PrevUpHomeNext

宏 BOOST_YAP_USER_EXPR_IF_ELSE

BOOST_YAP_USER_EXPR_IF_ELSE

提要

// In header: <boost/yap/user_macros.hpp>

BOOST_YAP_USER_EXPR_IF_ELSE(expr_template)

描述

定义一个 3 参数函数 if_else(),它作为三元运算符 (?:) 的类似物,因为三元运算符无法被用户重载。 if_else() 的返回类型是从 expr_template 表达式模板实例化的一个表达式。

至少有一个参数传递给 if_else() 必须是一个表达式。

对于传递给 if_else() 的每个参数 E,如果 E 是右值,则 E 会被移动到结果中,否则 E 会被按引用捕获到结果中。

示例


参数

expr_template

用于实例化结果表达式的表达式模板。 expr_template 必须是一个表达式模板 (ExpressionTemplate)。


PrevUpHomeNext