c++ - 在 C++ 中创建我自己的运算符

标签 c++ operator-overloading

我知道可以重载 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/

相关文章:

C++——如何编写一个函数,它返回实值函数的导数,而不是导数的值

c++ - 如何修复 C++ 中重载加法运算符的堆栈溢出

c++ - 重载运算符的德摩根定律优化

c++ - 运算符 << 重载 C++

c++ - 通过隐式转换为字符串流式传输对象时重载解析失败

c++ - 重载提取和插入 << >> 运算符 c++

c++两个具有const指针的对象

c++ - 打开顺序文件 C++

c++ - 不在 VS 上运行,但在 Dev C++ 上运行

c++ - 在子类中构造父对象