我需要在VxWorks消息队列上发送一些信息.要发送的信息在运行时决定,并且可以是不同的数据类型.我正在使用这个结构 -
struct structData
{
char m_chType; // variable to indicate the data type - long, float or string
long m_lData; // variable to hold long value
float m_fData; // variable to hold float value
string m_strData; // variable to hold string value
};
Run Code Online (Sandbox Code Playgroud)
我目前正在通过消息队列发送一个structData数组.
structData arrStruct[MAX_SIZE];
Run Code Online (Sandbox Code Playgroud)
这里的问题是结构中只有一个变量一次有用,另外两个变量无用.因此,消息队列不必要地重载.我不能使用联合,因为数据类型和值是必需的.我尝试使用模板,但它没有解决问题.我一次只能发送一个数据类型的结构数组.
template <typename T>
struct structData
{
char m_chType;
T m_Data;
}
structData<int> arrStruct[MAX_SIZE];
Run Code Online (Sandbox Code Playgroud)
是否有标准的方式来保存这些信息?
我想在C中实现一个字典数据结构,我想尽可能通用.也就是说它可以接受一对可以是任何类型的值.
如何初始化一个可以接受任何类型的变量?
如何将该类型转换回我想要的类型?(类型转换)
谢谢.