std::basic_stacktrace<Allocator>::current
來自 cppreference.com
< 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 的公共靜態成員函式) |