Namespaces
Variants

std::basic_stacktrace<Allocator>:: current

From cppreference.net
static basic_stacktrace current ( const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(1) (C++23부터)
static basic_stacktrace current ( size_type skip, const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(2) (C++23부터)
static basic_stacktrace current ( size_type skip, size_type max_depth,

const allocator_type & alloc =

allocator_type ( ) ) noexcept ;
(3) (C++23부터)

현재 실행 스레드의 현재 평가에서 스택 트레이스의 ( i +1 )-번째 스택 트레이스 항목을 s [ i ] (0 ≤ i < n )로 나타냅니다. 여기서 n 은 스택 항목 내 스택 트레이스 항목의 개수입니다.

1) basic_stacktrace 를 생성하려고 시도하며, 이는 s [ 0 ] , s [ 1 ] , ..., s [ n - 1 ] 로 구성됩니다.
2) basic_stacktrace 를 생성하려고 시도하며, 이는 s [ m ] , s [ m + 1 ] , ..., s [ n - 1 ] 로 구성됩니다. 여기서 m min(skip, n ) 입니다.
3) basic_stacktrace 를 생성하려고 시도하며, 이는 s [ m ] , s [ m + 1 ] , ..., s [ o - 1 ] 로 구성됩니다. 여기서 m min(skip, n ) 이고, o min(skip + max_depth, n ) 입니다. 만약 skip + max_depth < skip 인 경우(즉, skip + max_depth 의 수학적 결과가 오버플로되는 경우) 동작은 정의되지 않습니다.

모든 경우에, alloc 은 생성된 basic_stacktrace 에 저장되며 스택트레이스 항목들을 위한 저장 공간을 할당하는 데 사용됩니다.

목차

매개변수

alloc - 생성된 basic_stacktrace 의 모든 메모리 할당에 사용할 할당자
skip - 건너뛸 스택트레이스 항목의 수
max_depth - 스택트레이스 항목의 최대 깊이

반환값

할당이 성공하면, 위에서 설명한 basic_stacktrace 가 반환됩니다.

그렇지 않으면, 빈 basic_stacktrace 가 반환됩니다.

예제

참고 항목

새로운 basic_stacktrace 를 생성함
(public 멤버 함수)
[static]
호출 위치에 해당하는 새로운 source_location 을 생성함
( std::source_location 의 public static 멤버 함수)