std::basic_stacktrace<Allocator>::current
来自 cppreference.cn
< cpp | 工具库 | 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(public member function) | |
| [静态] |
构造对应于调用站点位置的新 source_location( std::source_location 的公共静态成员函数) |