如何使用 std::map 从模板中获取数据类型

how to get datatype from template using std::map

我需要一个需要使用 std::map 的代码,并创建一个数据类型列表及其大小。例如"BYTE"表示'unsigned char'"BOOL"表示'bool'"INT"表示'unsigned int'等。

我需要从用户那里获取的输入是字符串(数据类型名称),我需要从中创建列表。一旦用户请求特定数据类型的指针,我需要分配内存并将指针发回。

我在 C++ std::map of template-class values 上找到了一些东西。但我不知道如何初始化和使用它。 有没有其他方法可以做到这一点。 (我对模板和 std::map 用法很陌生)

提前致谢。

我觉得你需要的是提供一个好的buffer,你要包装buffer并提供一个接口。我通常使用 std::vector 作为一个大缓冲区(就像来自互联网的网页),一旦收缩,使用 std::vector::data 访问指针。另一种方法是使用 "new" 运算符。您要传递的数据类型无关紧要。提供类型后会自动计算大小。旧的 malloc() 函数也可以工作。您必须记住的一件事是,在每个 "new" 之后,应该有一个 "delete"。在每个"malloc"之后,必须有一个"free"。接口可以只是一个空指针,尽管这样做并不安全。