std::bad |
您所在的位置:网站首页 › 《bad》 › std::bad |
C++
Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros (C++20)
Language support library
Concepts library (C++20)
Metaprogramming library (C++11)
Diagnostics library
General utilities library
Strings library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Numerics library
Localizations library
Input/output library
Filesystem library (C++17)
Regular expressions library (C++11)
Concurrency support library (C++11)
Technical specifications
Symbols index
External libraries
[edit] Utilities library
Language support
Type support (basic types, RTTI)
Library feature-test macros (C++20)
Dynamic memory management
Program utilities
Coroutine support (C++20)
Variadic functions
is_constant_evaluated(C++20)
initializer_list(C++11)
source_location(C++20)
Three-way comparison (C++20)
three_way_comparablethree_way_comparable_with(C++20)(C++20)
strong_ordering(C++20)
weak_ordering(C++20)
partial_ordering(C++20)
common_comparison_category(C++20)
compare_three_way_result(C++20)
compare_three_way(C++20)
strong_order(C++20)
weak_order(C++20)
partial_order(C++20)
compare_strong_order_fallback(C++20)
compare_weak_order_fallback(C++20)
compare_partial_order_fallback(C++20)
is_eqis_neqis_ltis_lteqis_gtis_gteq(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
General utilities
Date and time
Function objects
Formatting library (C++20)
bitset
hash(C++11)
Relational operators (deprecated in C++20)
rel_ops::operator!=rel_ops::operator>
rel_ops::operator=
Integer comparison functions
cmp_equalcmp_lesscmp_less_than(C++20)(C++20)(C++20)
cmp_not_equalcmp_greatercmp_greater_than(C++20)(C++20)(C++20)
in_range(C++20)
Swap and type operations
swap
ranges::swap(C++20)
exchange(C++14)
declval(C++11)
to_underlying(C++23)
forward(C++11)
forward_like(C++23)
move(C++11)
move_if_noexcept(C++11)
as_const(C++17)
Common vocabulary types
pair
tuple(C++11)
optional(C++17)
any(C++17)
variant(C++17)
tuple_size(C++11)
tuple_element(C++11)
apply(C++17)
make_from_tuple(C++17)
expected(C++23)
Elementary string conversions
to_chars(C++17)
from_chars(C++17)
chars_format(C++17)
[edit] Dynamic memory management
Smart pointers
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(until C++17)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
out_ptr_t(C++23)
inout_ptr_t(C++23)
Allocators
allocator
allocator_traits(C++11)
allocation_result(C++23)
allocator_arg(C++11)
uses_allocator(C++11)
uses_allocator_construction_args(C++20)
make_obj_using_allocator(C++20)
uninitialized_construct_using_allocator(C++20)
scoped_allocator_adaptor(C++11)
pmr::polymorphic_allocator(C++17)
Memory resources
pmr::memory_resource(C++17)
pmr::get_default_resource(C++17)
pmr::set_default_resource(C++17)
pmr::new_delete_resource(C++17)
pmr::null_memory_resource(C++17)
pmr::synchronized_pool_resource(C++17)
pmr::unsynchronized_pool_resource(C++17)
pmr::monotonic_buffer_resource(C++17)
pmr::pool_options(C++17)
Uninitialized storage
raw_storage_iterator(until C++20)
get_temporary_buffer(until C++20)
return_temporary_buffer(until C++20)
Uninitialized memory algorithms
uninitialized_copy
uninitialized_fill
uninitialized_move(C++17)
uninitialized_default_construct(C++17)
uninitialized_value_construct(C++17)
destroy(C++17)
destroy_at(C++17)
uninitialized_copy_n(C++11)
uninitialized_fill_n
uninitialized_move_n(C++17)
uninitialized_default_construct_n(C++17)
uninitialized_value_construct_n(C++17)
destroy_n(C++17)
construct_at(C++20)
Constrained uninitialized memory algorithms
ranges::uninitialized_copy(C++20)
ranges::uninitialized_fill(C++20)
ranges::uninitialized_move(C++20)
ranges::uninitialized_default_construct(C++20)
ranges::uninitialized_value_construct(C++20)
ranges::destroy(C++20)
ranges::destroy_at(C++20)
ranges::uninitialized_copy_n(C++20)
ranges::uninitialized_fill_n(C++20)
ranges::uninitialized_move_n(C++20)
ranges::uninitialized_default_construct_n(C++20)
ranges::uninitialized_value_construct_n(C++20)
ranges::destroy_n(C++20)
ranges::construct_at(C++20)
Garbage collection support
declare_reachable(C++11)(until C++23)
undeclare_reachable(C++11)(until C++23)
declare_no_pointers(C++11)(until C++23)
undeclare_no_pointers(C++11)(until C++23)
pointer_safety(C++11)(until C++23)
get_pointer_safety(C++11)(until C++23)
Miscellaneous
pointer_traits(C++11)
to_address(C++20)
addressof(C++11)
align(C++11)
assume_aligned(C++20)
C Library
malloc
aligned_alloc(C++17)
calloc
realloc
free
Low level memory management
operator new
operator new[]
operator delete
operator delete[]
get_new_handler
set_new_handler
launder(C++17)
bad_alloc
bad_array_new_length
nothrow_t
align_val_t
destroying_delete_t
new_handler
nothrow
[edit] Low level memory management
Functions
operator newoperator new[]
operator deleteoperator delete[]
get_new_handler(C++11)
set_new_handler
Classes
bad_alloc
bad_array_new_length(C++11)
align_val_t(C++17)
Types
new_handler
Objects
nothrow
destroying_delete(C++20)
Object access
launder(C++17)
[edit]
Defined in header
class bad_alloc;
std::bad_alloc is the type of the object thrown as exceptions by the allocation functions to report failure to allocate storage. Inheritance diagram Contents 1 Member functions 2 std::bad_alloc::bad_alloc 2.1 Parameters 3 std::bad_alloc::operator= 3.1 Parameters 3.2 Return value 4 std::bad_alloc::what 4.1 Parameters 4.2 Return value 4.3 Notes 5 Inherited from std::exception 5.1 Member functions 5.2 Example 5.3 See also [edit] Member functions (constructor) constructs a new bad_alloc object (public member function) operator= replaces the bad_alloc object (public member function) what returns the explanatory string (public member function) std::bad_alloc::bad_alloc (1) bad_alloc() throw(); (until C++11) bad_alloc() noexcept; (since C++11) (2) bad_alloc( const bad_alloc& other ) throw(); (until C++11) bad_alloc( const bad_alloc& other ) noexcept; (since C++11)Constructs a new bad_alloc object with an implementation-defined null-terminated byte string which is accessible through what(). 1) Default constructor. 2) Copy constructor. If *this and other both have dynamic type std::bad_alloc then std::strcmp(what(), other.what()) == 0. (since C++11) Parameters other - another exception object to copy std::bad_alloc::operator= bad_alloc& operator=( const bad_alloc& other ) throw(); (until C++11) bad_alloc& operator=( const bad_alloc& other ) noexcept; (since C++11)Assigns the contents with those of other. If *this and other both have dynamic type std::bad_alloc then std::strcmp(what(), other.what()) == 0 after assignment. (since C++11) Parameters other - another exception object to assign with Return value*this std::bad_alloc::what virtual const char* what() const throw(); (until C++11) virtual const char* what() const noexcept; (since C++11)Returns the explanatory string. Parameters(none) Return valuePointer to a null-terminated string with explanatory information. The string is suitable for conversion and display as a std::wstring. The pointer is guaranteed to be valid at least until the exception object from which it is obtained is destroyed, or until a non-const member function (e.g. copy assignment operator) on the exception object is called. NotesImplementations are allowed but not required to override what(). Inherited from std::exception Member functions (destructor)[virtual] destroys the exception object (virtual public member function of std::exception) [edit] what[virtual] returns an explanatory string (virtual public member function of std::exception) [edit] [edit] Example Run this code #include #include int main() { try { while (true) { new int[100000000ul]; } } catch (const std::bad_alloc& e) { std::cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |