Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 C++ 做一个非常小而简单的 Integer 类包装器,它的全局看起来像这样:
class Int { ... private: int value; ... }
我处理了几乎所有可能的分配,但我不知道我必须使用哪种运算符来获得本地左分配。
例如:
Int myInteger(45); int x = myInteger;
您可能希望转换运算符转换为 int:
class Int { public: operator int() const { return value; } ... };
这允许以下初始化int
int
int x = myInteger;
在 C++11 中,您可以决定是否将该转换限制为int,或者是否允许进一步转换int为其他内容。要限制为int,请使用explicit转换运算符:
explicit
explicit operator int() const { return value; }
尽管在这种情况下可能没有必要。