stacktrace_entry_to_string
stacktrace_entry_to_string (std::stacktrace_entry를 문자열로 변환하기)
이 페이지는 C++23에서 추가된 std::to_string 함수 중 stacktrace_entry를 위한 오버로드에 대해 설명해요. 이 함수는 스택 추적 항목의 설명 문자열을 만들어 줘요. 디버깅이나 로그 출력에 유용하게 사용할 수 있어요.
출처: cppreference
본문
함수 정의
<stacktrace> 헤더에 정의되어 있어요.
std::string to_string(const std::stacktrace_entry& f);
C++23부터 사용할 수 있어요.
이 함수는 f에 대한 설명이 담긴 문자열을 반환해요. 표준에서는 이 설명이 포함된 평가(evaluation)에 대한 정보, 특히 f.source_file()과 f.source_line()에서 얻은 정보를 제공하도록 권장하고 있어요.
매개변수
| 매개변수 | 설명 |
|---|---|
f |
설명을 반환할 stacktrace_entry예요. |
반환값
f에 대한 설명이 담긴 문자열을 반환해요.
예외
구현 정의 예외(implementation-defined exceptions)를 던질 수 있어요.
참고
이 함수에는 사용자 정의 할당자(custom allocator) 지원이 제공되지 않아요. 구현은 보통 플랫폼별 할당, 시스템 호출, 많은 CPU 집약적 작업을 필요로 하는데, 사용자 정의 할당자는 플랫폼별 작업이 할당보다 한 자릿수 이상 오래 걸리기 때문에 이 함수에 이점을 주지 못하기 때문이에요.
예제
#include <stacktrace>
#include <string>
#include <iostream>
int main()
{
auto st = std::stacktrace::current();
std::cout <<
"Description of an empty stacktrace entry:\n" +
std::to_string(std::stacktrace_entry{}) << '\n';
if (st.size() > 0) {
std::cout <<
"Description of a non-empty stacktrace entry:\n" +
std::to_string(st[0]) << '\n';
}
}
가능한 출력:
Description of an empty stacktrace entry:
Description of a non-empty stacktrace entry:
0x0000000000402DE9 in ./prog.exe
같이 보기
| 함수 | 설명 |
|---|---|
to_string (C++23) |
basic_stacktrace의 설명 문자열을 반환하는 함수 템플릿이에요. |