std::basic_stacktrace<Allocator>::current — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
|
|
(1) | (начиная с C++23) |
|
|
(2) | (начиная с C++23) |
|
|
(3) | (начиная с C++23) |
Пусть s[i] (0 ≤ i < n) обозначает (i+1)-ю запись трассировки стека в трассировке стека текущей оценки в текущем потоке выполнения, где n это количество записей трассировки стека в записи стека.
1) Пытается создать basic_stacktrace, состоящий из s[0], s[1], ..., s[n - 1].
2) Пытается создать basic_stacktrace, состоящий из s[m], s[m + 1], ..., s[n - 1], где m равно min(skip, n).
3) Пытается создать basic_stacktrace, состоящий из s[m], s[m + 1], ..., s[o - 1], где 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 функция-элемент) [править] | |
создаёт новый source_location, соответствующий местоположению места вызова (public static функция-элемент std::stacktrace_entry) [править]
|