std::basic_stacktrace<Allocator>::current - cppreference.com
来自cppreference.com
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 起) |
令 s[i] (0 ≤ i < n) 代表当前执行线程中当前求值的第 i+1 个栈踪迹条目,其中 n 为栈踪迹中的栈踪迹条目个数。
1) 尝试创建由 s[0]、s[1] …… s[n - 1] 组成的 basic_stacktrace。
2) 尝试创建由 s[m]、s[m + 1] …… s[n - 1] 组成的 basic_stacktrace,其中 m 为 min(skip, n)。
3) 尝试创建由 s[m]、s[m + 1] …… s[o - 1] 组成的 basic_stacktrace,其中 m 为 min(skip, n) 而 o 为 min(skip + max_depth, n)。
|
如果 |
(C++26 前) |
|
如果 |
(C++26 起) |
所有情况下,将 alloc 存储到创建的 basic_stacktrace 中并用它分配栈踪迹条目的存储。
参数
| alloc | - | 用于构造的 basic_stacktrace 的所有内存分配的分配器
|
| skip | - | 要跳过的栈踪迹条目个数 |
| max_depth | - | 栈踪迹条目的最大深度 |
返回值
分配成功时返回如上描述的 basic_stacktrace。
否则返回空的 basic_stacktrace。
示例
参阅
创建新的 basic_stacktrace (公开成员函数) [编辑] | |
构造对应调用点位置的新 source_location ( std::source_location 的公开静态成员函数) [编辑]
|