gpt4 book ai didi

C++ 创建一个存储不同类型名称的 vector

转载 作者:太空狗 更新时间:2023-10-29 20:01:38 25 4
gpt4 key购买 nike

我想创建一个存储数据类型名称(int、char、bool 等)的 vector

我正在寻找类似的东西:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc,char** argv)
{
vector<typenames> v = {int,float,double,bool};
}

最佳答案

如果要存储的类型有限,可以使用 <variant> ,例如

#include <variant>

using VarType = std::variant<int, float, double, bool>;
std::vector<VarType> v;

v.push_back(42);

assert(std::holds_alternative<int>(v.front()));
assert(std::get<int>(v.front()) == 42);

v[0] = true;

assert(std::holds_alternative<bool>(v.front()));
assert(std::get<bool>(v.front()));

请注意,如果 C++17 不可用,您可以使用 Boost variant .

关于C++ 创建一个存储不同类型名称的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com