作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设我为自己定义了一个隐式转换函数:
#include <iostream>
class Foo {
public:
operator Foo() {
std::cout << "wha??\n";
return Foo();
}
};
void f(Foo f) {}
int main() {
Foo foo;
f(foo);
}
我为什么要定义这个?好吧,我永远不会直接写它,但它可以通过我正在编写的模板类中的模板实例化来实现。如果发生这种情况,我希望定义转换函数实际上是空操作,并且不可能实际调用。
上面的程序什么都不打印(这很好)。是否存在实际调用此转换函数的任何情况?
最佳答案
它是正确的,但永远不会调用,由于 n3376 12.3.2/1
Aconversion function is never used to convert a (possibly cv-qualified) object to the (possibly cv-qualified)same object type (or a reference to it)
关于c++ - 会调用到 self 的隐式转换函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396024/
我是一名优秀的程序员,十分优秀!