用C++重载'space'运算符?

Chr*_*ris -6 c++ operator-overloading c++11

我在C++方面有一点经验.我知道如何重载加号和什么不是,但想重载空间操作符.

例如:

MyObject obj();

result = obj - foo; // This would be treated as a normal '-' operation.

result = obj-foo; // This would invoke code which throws an assert at runtime
Run Code Online (Sandbox Code Playgroud)

这将允许我执行我试图为我的团队制定的某些风格指南.

谢谢!

unw*_*ind 9

C++中没有空格操作符.在大多数情况下,空白并不重要,从解析的角度来看,没有区别

a-b
Run Code Online (Sandbox Code Playgroud)

a -      b
Run Code Online (Sandbox Code Playgroud)

我很高兴.

注意:在我看来,有一些极端情况(嵌套模板会让人想到)它实际上很重要,但这更像是语法的工件,而不是作为"操作符"活跃的空白的指示.


Mot*_*tti 6

Bjarne Stroustrup 曾做过一次建议允许重载空格 [PDF].但看到这篇文章发表于4月1 日,他可能并非100%认真......

这篇文章值得一读.


编辑:刚刚注意到这已经发表在评论中......好吧.