std::basic_stacktrace<Allocator>::current
来自cppreference.com
< cpp | utility | basic stacktrace
| 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 = |
(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) 。若 skip + max_depth < skip (即 skip + max_depth 的数学结果上溢)则行为未定义。所有情况下,存储 alloc 到创建的 basic_stacktrace 中并用它分配栈踪条目的存储。
参数
| alloc | - | 用于构造的 basic_stacktrace 的所有内存分配的分配器
|
| skip | - | 要跳过的栈踪条目数 |
| max_depth | - | 栈踪条目的最大深度 |
返回值
若分配成功则为如上描述的 basic_stacktrace 。
否则为空的 basic_stacktrace 。
示例
| 本节未完成 原因:暂无示例 |
参阅
创建新的 basic_stacktrace (公开成员函数) | |
| [静态] |
构造对应调用点位置的新 source_location ( std::source_location 的公开静态成员函数) |