我正在尝试创建一个包含int和字符串的向量.这可能吗?
例如,我想要vector< int> myArr来保存字符串x =“Picture This”
解决方法:
你可以使用联盟,但有更好的选择.
您可以使用boost::variant
来获得此类功能:
using string_int = boost::variant<std::string, int>;
std::vector<string_int> vec;
要从变体中获取字符串或int,可以使用boost::get
:
std::string& my_string = boost::get<std::string>(vec[0]);
编辑
嗯,现在是2017年.你不再需要Boost有变种,因为我们现在有std::variant
!