gpt4 book ai didi

c++ - 类 std::out_of_range 在哪里完全定义?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:05 25 4
gpt4 key购买 nike

我正在我的 Ubuntu Linux 上的 /usr/include/c++ 下搜索。在 /usr/include/c++/stdexcept 中,我发现了这个:

class out_of_range : public logic_error
{
public:
explicit out_of_range(const string& __arg);
};

但是我在任何地方都找不到out_of_range() 构造函数的定义。

此外,当 STL 抛出 out_of_range() 异常时,它使用(示例取自 STL_vector.h):

__throw_out_of_range(__N("vector::_M_range_check"));

而且,对于 __throw_out_of_range(),我唯一能找到的是:

void __throw_out_of_range(const char*) __attribute__((__noreturn__));

你能告诉我 out_of_range 类的定义在哪里吗?

最佳答案

它们可能在 libstdc++ 中定义。您可以在 GCC website 上获取源代码.在 Ubuntu 发行版上,您只需安装库 (libstdc++.so),而不是源代码。你找到的东西只是声明,而不是定义。

关于c++ - 类 std::out_of_range 在哪里完全定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824209/

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