我已经在C++中编写了一个接收结构作为输入的函数。收到的结构对象有两个数组。我需要将这两个数组用于不同的目的。数组名称已经以某种格式创建。如何检索字符串中的数组名称。检索数组名称
struct INFO
{
float fADataLHS[3] = {1,2,3};
float fADataRHS[3] = {4,5,6};
已经定义了结构INFO,其中两个数组已被定义初始化。函数useStruct使用两个函数用于不同的目的。
void useStruct(struct *INFO)
{
--------;
--------;
}
int main()
{
struct INFO info;
useStruct(info);
}
我想要一个方法,其中我可以检索数组的名称,例如。 fAdataLHS并将其存储为字符串。这个想法是从字符串名称中找到子字符串LHS和RHS,然后相应地处理。 PS:我对C++很陌生。
如果您不熟悉C++,除非您知道*如何在C中执行此操作,并希望获得“自然”C++答案,否则请不要跨越C标签。在C++中,您不需要重复'struct',并且您*知道* INFO中数组的“名称”是什么,所以......只是使用它们? – crashmstr 2014-10-06 14:31:25
如果您要求反射像功能(如C#)它不能完成。 – Borgleader 2014-10-06 14:31:37
在运行时我不认为你需要他们的名字。在结构声明中,你向我展示了两个数组的长度是确定的。你可以通过计算每个数组的偏移量来真正引用它们。 – HuStmpHrrr 2014-10-06 14:37:12