命名空间
变体
操作

std::basic_stacktrace<Allocator>::current

来自 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,其中 mmin(skip, n)
3) 尝试创建一个包含 s[m]s[m + 1]、...、s[o - 1]basic_stacktrace,其中 mmin(skip, n)omin(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 的公有静态成员函数) [编辑]