我知道可以重载 C++ 中已经存在的运算符来定义所需的行为,但是是否可以创建自己的运算符?
例如,制作一个返回容器大小的运算符#
:
template<typename T>
size_t operator#(const T& obj) { return obj.size(); }
vector<int> v(1024);
cout << #v; // prints 1024
最佳答案
没有。您需要坚持使用解析器已经知道如何处理的运算符。重载可以扩展表达式的含义,但语法是固定的。
关于c++ - 在 C++ 中创建我自己的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212375/