运算符重载 C++

发布于 2024-10-15 18:45:17 字数 142 浏览 4 评论 0原文

我在互联网上找到了这段代码:

Class Book{
Public:
void operator()(int Counter) const throw();
}

我的问题是,使用什么运算符重载上述代码?

I found this code on internet :

Class Book{
Public:
void operator()(int Counter) const throw();
}

My question is, what operator overloading the above code used?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何其悲哀 2024-10-22 18:45:17

首先,该代码是错误的;由于 C++ 区分大小写,因此 ClassPublic 不是关键字。将参数名称的首字母大写 (Counter) 也是很不寻常的(尽管合法)。

假设大小写正确,您所拥有的是函数调用运算符的重载。它允许您“调用”Book 的实例,就像它是一个函数一样:

Book b;
...
b(23);

Firstly, that code is wrong; since C++ is case sensitive, Class and Public are not keywords. It is also very unusual (albeit legal) to capitalize the first letter of a parameter name (Counter).

Assuming correct capitalization, what you have is an overload of the function-call operator. It allows you to "call" an instance of Book as if it was a function:

Book b;
...
b(23);
悲欢浪云 2024-10-22 18:45:17

上面的类基本上称为“函子”。它有一个重载的“()”运算符。广泛应用于STL算法。

The above class is basically called a "Functor". It has an overloaded "()" operator. Widely used in STL Algorithms.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文