比如 int operator()
vs operator int()
,这两者有什么区别?
int operator()
是函数调用运算符(Function Call Operator),比如,
struct Foo
{
int operator()(int a, int b)
{
return a + b;
}
};
...
Foo foo;
int i = foo(1, 2); // Call the object as a function, and it returns 3 (1+2)
operator int()
是类型转换运算符(Type Conversion Operator),比如,
struct Bar
{
operator int()
{
return 123;
}
};
...
Bar bar;
int i = bar; // Calls the conversion operator, which returns 123
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有