相关疑难解决方法(0)

为什么在C++中有从指针到bool的隐式类型转换?

考虑foo具有两个这样定义的构造函数的类:

class foo
{
public:
    foo(const std::string& filename) {std::cout << "ctor 1" << std::endl;}
    foo(const bool some_flag = false) {std::cout << "ctor 2" << std::endl;}
};
Run Code Online (Sandbox Code Playgroud)

使用字符串文字实例化类,并猜测调用哪个构造函数?

foo a ("/path/to/file");
Run Code Online (Sandbox Code Playgroud)

输出:

ctor 2

我不了解你,但我没有发现编程历史中最直观的行为.我打赌它有一些聪明的理由,但我想知道它可能是什么?

c++ types boolean implicit

14
推荐指数
2
解决办法
5323
查看次数

标签 统计

boolean ×1

c++ ×1

implicit ×1

types ×1