我正在阅读Stanley B. Lippman的C++ Primer一书,其中在变量和基本类型一节中我看到了作用域运算符
我已经稍微了解过运算符重载,并且认为它在特殊情况下可能非常有用,但当我在互联网上搜索时,我发现我根本无法重载
在这篇文章中,我发现
因此,我认为也许有一种方法可以重载
::
。我已经稍微了解过运算符重载,并且认为它在特殊情况下可能非常有用,但当我在互联网上搜索时,我发现我根本无法重载
::
运算符。在这篇文章中,我发现
.
运算符可以被重载。然而,这可能会引起关于操作是为对象重载.
还是由.
引用的对象的疑问。因此,我认为也许有一种方法可以重载
::
。
但如果不能,请有人向我解释原因吗?
我对::运算符的想法示例:
#include <iostream>
/*
*For example:
*I wanna increase 1 unit every time
*I call the global variable r doing ::r
*insede of the main function
*/
int r = 42;
int main()
{
int r = 0;
std::cout << ::r << " " << r << std::endl; //It would print 43 0 after the operator overload
return 0;
}
.
运算符是无法被重载的。 - Captain Obvlious