Namespaces
Variants

Memory management library

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π£ΠΌΠ½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (since C++11)

Π£ΠΌΠ½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ автоматичСскоС, бСзопасноС с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(C++11)
ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с сСмантикой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
(шаблон класса)
(C++11)
ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с сСмантикой раздСляСмого владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
(шаблон класса)
(C++11)
слабая ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, управляСмый std::shared_ptr
(шаблон класса)
(устарСл Π² C++11) (ΡƒΠ΄Π°Π»Π΅Π½ Π² C++17)
ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ со строгой сСмантикой владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
(шаблон класса)
Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы
(C++11)
прСдоставляСт смСшанноС Π²Π»Π°Π΄Π΅Π»ΡŒΡ‡Π΅ΡΠΊΠΎΠ΅ упорядочиваниС shared ΠΈ weak ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(шаблон класса)
(C++26)
прСдоставляСт Π²Π»Π°Π΄Π΅Π»ΡŒΡ‡Π΅ΡΠΊΠΎΠ΅ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для shared ΠΈ weak ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(класс)
прСдоставляСт смСшанноС Π²Π»Π°Π΄Π΅Π»ΡŒΡ‡Π΅ΡΠΊΠΎΠ΅ сравнСниС Π½Π° равСнство shared ΠΈ weak ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(класс)
позволяСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ shared_ptr ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° сСбя
(шаблон класса)
ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, выбрасываСмоС ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ weak_ptr ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся Π½Π° ΡƒΠΆΠ΅ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
(класс)
ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для unique_ptr
(шаблон класса)
АдаптСры ΡƒΠΌΠ½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (начиная с C++23)
(C++23)
взаимодСйствуСт с внСшними установщиками ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ сбрасываСт ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ
(шаблон класса)
(C++23)
создаСт out_ptr_t с ассоциированным ΡƒΠΌΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ сброса
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
взаимодСйствуСт с внСшними установщиками ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля ΠΈΠ· ΡƒΠΌΠ½ΠΎΠ³ΠΎ указатСля ΠΈ сбрасываСт Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ
(шаблон класса)
(C++23)
создаСт inout_ptr_t с ассоциированным ΡƒΠΌΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ сброса
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

Аллокаторы

Аллокаторы - это ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ классов, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ выдСлСния памяти. Π­Ρ‚ΠΎ позволяСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΎΡ‚ самих Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
(шаблон класса)
прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²
(шаблон класса)
записываСт адрСс ΠΈ фактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ allocate_at_least
(шаблон класса)
Ρ‚Π΅Π³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Ρ‹Π±ΠΎΡ€Π° конструкторов с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²
(Ρ‚Π΅Π³)
провСряСт, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с использованиСм Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π°
(шаблон класса)
ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ конструкции с использованиСм Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π°, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° посрСдством конструкции с использованиСм Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π°
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мСстС памяти посрСдством конструкции с использованиСм Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π°
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <scoped_allocator>
Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ для ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²
(шаблон класса)
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory_resource>
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² пространствС ΠΈΠΌΠ΅Π½ std::pmr
Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π½Π° основС std::pmr::memory_resource с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ создан
(шаблон класса)

РСсурсы памяти (начиная с C++17)

РСсурсы памяти Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ стратСгии выдСлСния памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ std::pmr::polymorphic_allocator .

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory_resource>
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² пространствС ΠΈΠΌΠ΅Π½ std::pmr
абстрактный интСрфСйс для классов, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… рСсурсы памяти
(класс)
Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ статичСский рСсурс памяти для всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ std::pmr::memory_resource ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ operator new ΠΈ operator delete для выдСлСния ΠΈ освобоТдСния памяти
(функция)
Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ статичСский std::pmr::memory_resource ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ выполняСт выдСлСния памяти
(функция)
ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ рСсурс памяти ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ std::pmr::memory_resource
(функция)
устанавливаСт рСсурс памяти ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ std::pmr::memory_resource
(функция)
Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² конструктора для рСсурсов ΠΏΡƒΠ»Π°
(класс)
потокобСзопасный std::pmr::memory_resource для управлСния Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ памяти Π² ΠΏΡƒΠ»Π°Ρ… с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²
(класс)
нСпотокобСзопасный std::pmr::memory_resource для управлСния Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ памяти Π² ΠΏΡƒΠ»Π°Ρ… с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²
(класс)
спСциализированный std::pmr::memory_resource ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ освобоТдаСт Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ рСсурса
(класс)

Алгоритмы для Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ памяти

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ default-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ default-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ value-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ value-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++17)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ адрСсу
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++17)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++17)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ адрСсу
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

Алгоритмы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ с ограничСниями (since C++20)

C++20 прСдоставляСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Ρ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€-страТ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ <memory>
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² пространствС ΠΈΠΌΡ‘Π½ std::ranges
опрСдСляСт, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, стороТСвыми значСниями ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
( концСпция Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для дСмонстрации* )
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ default-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ default-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ value-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
конструируСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ value-initialization Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, опрСдСляСмой Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ количСством
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ адрСсу
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)
создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ адрСсу
(Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°)

Π―Π²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ (since C++23)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ <memory>
нСявно создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ области памяти с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ использованиСм прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

Π’ΠΈΠΏΡ‹ для ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ проСктирования классов (since C++26)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
(C++26)
ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°, содСрТащая динамичСски выдСляСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с сСмантикой значСния
(шаблон класса)
полиморфная ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°, содСрТащая динамичСски выдСляСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с сСмантикой значСния
(шаблон класса)

Π Π°Π·Π½ΠΎΠ΅

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ pointer-like Ρ‚ΠΈΠΏΠ°Ρ…
(шаблон класса)
(C++20)
ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сырой ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ· pointer-like Ρ‚ΠΈΠΏΠ°
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++11)
ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ фактичСский адрСс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ & ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++11)
Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€Π΅
(функция)
ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ компилятор, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
провСряСт, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

НизкоуровнСвоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, operator new , operator delete , std::set_new_handler .

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ <new>

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² стилС C

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, std::malloc , std::free .

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <cstdlib>

НСинициализированноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Π΄ΠΎ C++20)

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΎ нСсколько ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для создания ΠΈ доступа ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <memory>
(устарСло Π² C++17) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++20)
ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт стандартным Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ памяти
(шаблон класса)
(устарСло Π² C++17) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++20)
ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(устарСло Π² C++17) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++20)
освобоТдаСт Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборщика мусора (Π΄ΠΎ C++23)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ <memory>
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½
(функция)
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½
(шаблон Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π½Π΅ содСрТит отслСТиваСмых ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(функция)
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
отмСняСт эффСкт std::declare_no_pointers
(функция)
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
пСрСчисляСт ΠΌΠΎΠ΄Π΅Π»ΠΈ бСзопасности ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(пСрСчислСниС)
(C++11) (ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² C++23)
Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ модСль бСзопасности ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ
(функция)