Boost C++ 库

...世界上最受推崇和设计最精湛的 C++ 库项目之一。 Herb SutterAndrei AlexandrescuC++ 编码标准

PrevUpHomeNext

宏 BOOST_YAP_USER_SUBSCRIPT_OPERATOR

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 是非表达式,则它被包装在终端表达式中。

示例


参数

expr_template

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


PrevUpHomeNext