Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
typedef
hardware_constructive_interference_size
inline constexpr size_t hardware_constructive_interference_size = implementation-defined;
Hinweise
Diese Zahl ist die maximale empfohlene Größe des zusammenhängenden Speichers, der von zwei Objekten belegt wird, auf die durch gleichzeitige Threads zugegriffen wird. Es muss mindestens alignof(max_align_t)sein.
Beispiel
struct together {
atomic<int> dog;
int puppy;
};
struct kennel {
// Other data members...
alignas(sizeof(together)) together pack;
// Other data members...
};
static_assert(sizeof(together) <= hardware_constructive_interference_size);
hardware_destructive_interference_size
inline constexpr size_t hardware_destructive_interference_size = implementation-defined;
Hinweise
Diese Zahl ist der minimale empfohlene Offset zwischen zwei gleichzeitig aufgerufenen Objekten, um Leistungsbeeinträchtigungen aufgrund der durch die Implementierung eingeführten Inhalte zu vermeiden. Es muss mindestens alignof(max_align_t)sein.
Beispiel
struct keep_apart {
alignas(hardware_destructive_interference_size) atomic<int> cat;
alignas(hardware_destructive_interference_size) atomic<int> dog;
};
new_handler
Der new_handler Typ verweist auf eine Funktion, die für die Verwendung als new handlerFunktion geeignet ist, eine Funktion, die Speicher freigeben oder freigeben kann.
typedef void (*new_handler)();
Hinweise
Wenn die Funktion dieses Typs festgelegt std::set_new_handlerwird, wird die Funktion aufgerufen, operator new oder operator new[] wenn sie eine Anforderung für mehr Speicher nicht erfüllen können.
Beispiel
Ein Beispiel, das als Rückgabewert verwendet new_handler wird, finden Sie unter set_new_handler.