Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From cppreference.net
basic_stacktrace ( ) noexcept ( /* see below */ ) ;
(1) (C++23 이후)
explicit basic_stacktrace ( const allocator_type & alloc ) noexcept ;
(2) (C++23 이후)
basic_stacktrace ( const basic_stacktrace & other ) ;
(3) (C++23 이후)
basic_stacktrace ( basic_stacktrace && other ) noexcept ;
(4) (C++23 이후)
basic_stacktrace ( const basic_stacktrace & other,
const allocator_type & alloc ) ;
(5) (C++23 이후)
basic_stacktrace ( basic_stacktrace && other, const allocator_type & alloc ) ;
(6) (C++23 이후)

basic_stacktrace 를 생성하거나 other 에서 복사/이동합니다.

1) 기본 생성자. 기본 생성된 할당자를 사용하여 빈 basic_stacktrace 를 생성합니다.
2) basic_stacktrace 빈 객체를 생성하며 alloc 을 할당자로 사용합니다.
3) 복사 생성자. other 의 내용을 복사하여 basic_stacktrace 를 생성합니다. 할당자는 std:: allocator_traits < allocator_type > :: select_on_container_copy_construction ( other. get_allocator ( ) ) 를 호출하는 것처럼 얻습니다.
4) 이동 생성자. basic_stacktrace other 의 내용을 이동 시맨틱으로 구성합니다. 할당자는 other 의 할당자로부터 이동 생성됩니다. 생성 후 other 는 유효하지만 지정되지 않은 상태로 남습니다.
5) 복사 생성자와 동일하지만, alloc 이 할당자로 사용된다는 점이 다릅니다.
6) alloc == other. get_allocator ( ) 인 경우 이동 생성자와 동일하게 동작합니다. 그렇지 않은 경우, alloc 로 메모리를 할당하고 요소별 이동을 수행합니다. alloc 이 할당자로 사용됩니다.

(3,5,6) 는 할당 실패 시 예외를 던지거나 빈 basic_stacktrace 를 생성할 수 있습니다.

목차

매개변수

alloc - 생성된 basic_stacktrace 의 모든 메모리 할당에 사용할 할당자
other - 복사/이동할 다른 basic_stacktrace

예외

1)
noexcept 명세:
noexcept ( std:: is_nothrow_default_constructible_v < allocator_type > )
3,5,6) 할당 실패 시 발생한 예외를 전파할 수 있습니다.

복잡도

1,2) 상수.
3) 크기가 other 에 대해 선형적입니다.
4) 상수.
5) 크기가 other 에 대해 선형적입니다.
6) other 의 크기에 대해 선형적이며, alloc ! = other. get_allocator ( ) 인 경우, 그렇지 않으면 상수 시간입니다.

참고 사항

컨테이너 이동 생성 후 (오버로드 ( 4 ) ), other 에 대한 참조, 포인터 및 반복자(끝 반복자 제외)는 유효하지만, 이제 * this 에 있는 요소를 참조합니다. 현재 표준은 [container.reqmts]/67 의 포괄적 명시를 통해 이 보장을 제공하며, LWG issue 2321 를 통해 더 직접적인 보장이 검토 중입니다.

예제

참고 항목

basic_stacktrace 에 할당
(public member function)
[static]
현재 스택트레이스 또는 지정된 부분을 획득
(public static member function)