BOOST_YAP_USER_SUBSCRIPT_OPERATOR
// In header: <boost/yap/user_macros.hpp>
BOOST_YAP_USER_SUBSCRIPT_OPERATOR(expr_template)
为 operator[]() 定义运算符重载,每个重载产生一个从 expr_template 表达式模板实例化的表达式。 为每个限定符 const &
、&
和 &&
定义一个重载。 对于左值引用重载,*this
通过引用捕获到结果表达式中。 对于右值引用重载,*this
被移动到结果表达式中。
每个已定义重载的 rhs 参数可以是任何类型,包括表达式,但重载受到 std::enable_if<> 的约束,以免与赋值和移动赋值运算符冲突。 如果 rhs 是非表达式,则它被包装在终端表达式中。
示例
参数 |
|