我在我的Ubuntu Linux上搜索/usr/include/c++
。在/usr/include/c++/stdexcept
,我發現這一點:其中std :: out_of_range類是完全定義的嗎?
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
類的定義?
你看過[這個頁面](http://en.cppreference.com/w/cpp/error/out_of_range)嗎? – abiessu
+1好問題。也想知道。 – lulyon
我在gcc上找到了gcc的github鏡像:,第60行。 –
lulyon