在initializer_list中使用“ new”不会分配字符串值,而int值起作用

问题描述 投票:-1回答:1

创建静态std::initializer_list<std::string>时有效:

auto a = std::initializer_list<std::string>{"1", "2", "3", "4"};

enter image description here

但是当我为std::initializer_list<std::string>创建指针时,指针的值为空:

auto b = new std::initializer_list<std::string>{"1", "2", "3", "4"};

enter image description here

我尝试使用整数值,并且两种情况都起作用(std::initializer_list<int>{1, 2, 3, 4}new std::initializer_list<int>{1, 2, 3, 4})。

c++ stl
1个回答
-1
投票

所以我写了一个完整的例子:

© www.soinside.com 2019 - 2024. All rights reserved.