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

how to get datatype from template using std::map

本文关键字:获取 数据类型 何使用 std map      更新时间:2023-10-16

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

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

我在C++std::map上发现了一些模板类值。但我不知道如何初始化和使用它。有没有另一种方法可以做到这一点。(我对模板和std::map的使用非常陌生)

提前谢谢。

我认为您需要的是提供一个好的缓冲区,以及包装缓冲区和提供接口的方法。我通常使用std::vector作为一个大缓冲区(就像互联网上的网页一样),一旦签约,就使用std::vector::data来访问指针。另一种方法是使用"new"运算符。要传递到什么数据类型并不重要。提供类型后,将自动计算大小。旧的malloc()函数也可以工作。你必须记住的一件事是,在每个"新"之后,都应该有一个"删除"。在每一个"malloc"之后,都必须有一个"free"。接口可以只是一个空指针,尽管这样做不安全。