重载成员选择运算符
overload member selection operator
是否有任何方法可以重载"点"-运算符"。">
我们希望在重写ORM层时使用旧的代码库。因此,我们有了包装对象并为成员选择运算符添加一些新语义的想法
我们发现有几个网站在讨论这个问题,包括这里的SO,都说理论上可以,但目前的C++标准不允许
也许已经有一个编译器可以做到这一点了?
编辑
感谢你的快速回答;我们看到,如果不是不可能的话,找到这样一个编译器可能很难。如有任何进一步的提示,我们将不胜感激。我们已经阅读了您发布的所有资源。。。
简单地说,我们想要实现的是:包装器没有任何自己的成员,它只应该以另一种方式提供前一个真实对象。由于向后兼容性的原因,实现我们的新层将非常方便——我们可以避免在超过4000次的情况下修改遗留客户端代码。
如果你有任何其他想法如何以另一种方式进行,请告诉。这个限制在C++11中还会存在吗?
编辑2
还不确定,我将报告我们的工作。
您不能重载点运算符,而且没有支持此属性的c++编译器。请查看维基百科中的此链接,该链接更详细地解释了C++中的运算符重载。http://en.wikipedia.org/wiki/C%2B%2B_operators
相关文章:
- 有条件地选择带有 decltype() 和三元运算符的类型
- 为什么选择转换运算符的重载?
- 是否可以在C++中使用三元运算符在 if 语句中选择比较运算符?
- 了解转换运算符的选择C++
- 为什么<iostream>运算符<<会选择明显错误的重载?
- 带大小参数和不带大小参数的"运算符删除":当两者都可用时,选择哪一个?
- 使用 std::function 时选择自动返回类型而不是构造函数的调用运算符
- 为什么在指针上对成员访问/元素选择有不同的运算符
- 强制编译器选择常量运算符重载
- 重载成员选择运算符
- 迭代器重载成员选择与间接运算符
- 关于智能指针中取消引用和成员选择运算符的定义
- clang-libc++错误:重载解析选择了隐式删除的复制赋值运算符
- C++ 编译器选择输出流运算符<<的错误重载
- 运算符 = 重载C++有选择地工作
- 转换是模棱两可的.标准隐式转换无法选择强制转换运算符
- 构造函数重载选择了强制转换运算符而不是结构类型
- iOS中箭头成员选择运算符的使用
- 具有重载的取消引用运算符的成员选择
- 显式运算符<<选择重载'wrong'