gpt4 book ai didi

字符串作为键和类型作为值的 C++ 映射

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:19 24 4
gpt4 key购买 nike

有没有 boost-hana 的替代品?在 boost 库中,这将允许我创建类似的东西

typedef boost::AlterinativeToHana::map< make_pair<"abcd",ABCDType>,
make_pair<"efgh",EFGHType>,
make_pair<"ijkl",IJKLType>
> stringToTypeMap;

我用过boost-fusion ,但我无法为我的用例找到合适的解决方案,即字符串到类型的映射。

最佳答案

我认为std::type_index是你需要的:

#include <iostream>
#include <typeindex>
#include <map>

class A
{};

class B
{};

int main()
{
std::map<std::type_index, std::string> typesMap;
typesMap[typeid(A)] = "1111";
typesMap[typeid(B)] = "2222";

A instA;
B instB;

cout << "instA: " << typesMap[typeid(instA)] << "\n";
cout << "instB: " << typesMap[typeid(instB)] << "\n";

return 0;
}

输出:

instA: 1111
instB: 2222

关于字符串作为键和类型作为值的 C++ 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641427/

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