gpt4 book ai didi

c++ - std 构造函数的调用是否需要限定?

转载 作者:可可西里 更新时间:2023-11-01 17:46:28 26 4
gpt4 key购买 nike

std 构造函数的调用是否需要使用 std:: 进行限定?

class whatever : public std::runtime_error
{
public:
explicit whatever(const std::string& what) : runtime_error(what) {}
}; // ^ do I need std:: here?

它可以在我的编译器上运行而无需限定,但我不确定这种行为是否是标准的。

最佳答案

不,你不知道。在 whatever 类的范围内查找初始化器列表中的名称。此类作用域包括在基类中声明的名称,并且基类的名称 (runtime_error) 被插入到 std::runtime_error 的作用域中(这是所有类的标准行为类)。

请注意,如果您使用的名称是实际类名的 typedef,则这不起作用。您很容易被 std::istream 和 friend 所吸引。 See here.

关于c++ - std 构造函数的调用是否需要限定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com