LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

«трансформируется» точно в такую же

Нет. Initializer list это просто два указателя.

https://github.com/microsoft/STL/blob/main/stl/inc/initializer_list#L21-L53

трансформируется в «такую»:

int __temp_arr[2] = {3,4};
std::initializer_list<int> __temp_list(__temp_arr, __temp_arr + 2);
v.operator=(__temp_list);

или такую

int __temp_arr[2] = {3,4};
std::initializer_list<int> __temp_list(__temp_arr, 2);
v.operator=(__temp_list);

Исправление fsb4000, :

«трансформируется» точно в такую же

Нет. Initializer list это просто два указателя.

https://github.com/microsoft/STL/blob/main/stl/inc/initializer_list#L21-L53

трансформируется в «такую»:

int __temp_arr[2] = {3,4};
std::initializer_list<int> __temp_list{__temp_arr, __temp_arr + 2};
v.operator=(__temp_list);

или такую

int __temp_arr[2] = {3,4};
std::initializer_list<int> __temp_list{__temp_arr, 2};
v.operator=(__temp_list);

Исходная версия fsb4000, :

«трансформируется» точно в такую же

Нет. Initializer list это просто два указателя.

https://github.com/microsoft/STL/blob/main/stl/inc/initializer_list#L21-L53

трансформируется в «такую»:

int __temp_arr[2] = {3,4};
std::initializer_list<int> __temp_list{__temp_arr, __temp_arr + 2};
v.operator=(__temp_list);