13 int* ptr1 =
new (
gBuffer + 0 )
int{10};
17 double* dptr =
new (ptr1 + 1)
double{3.14};
21 double* dptr2 =
new ( dptr + 1 )
double {22.0/7.0};
25 long long* lptr =
new (dptr2 + 1)
long long{ 7ull };
32 constexpr size_t element_count = 10;
34 int local_buffer[element_count];
36 int& a = *
new (local_buffer + 0)
int {0};
40 double& d = *
new(&a + 1)
double {22.0 / 7.0};
44 short& s = *
new ( &d + 1)
short { 4 };
50template<
typename Type>
53 if constexpr( std::is_class_v<Type> && std::is_destructible_v<Type>)
87 size_t element_count = 10;
90 std::unique_ptr<char[]> buffer(
new char [ element_count *
sizeof(
ClsType) ] );
103 ptr1 =
new (buffer.get() )
ClsType{3};
void placement_delete(Type *&ptr)
void advanced_placement_new_delete()
void test_placement_new_operator()
constexpr size_t buffer_size
void placement_new_using_local_stack_buffer()
friend std::ostream & operator<<(std::ostream &os, const ClsType &t)
ClsType(int member=int{})