如何访问结构变量的值而不调用成员之前的变量名称?



如何在结构成员中使用结构变量的值而不调用结构变量的名称,但只使用该结构的成员和全局变量(字符串)?我们的想法是,我将全局变量的值设置为结构变量的名称,然后在该变量之后执行.structM,就像这样:global.structMglobal作为全局变量。

i tried this:

#include <iostream>
using namespace std;
string global = "structV";
struct{
int structM;
}structV;
int main() {
structV.structM = 100;
cout << structV.structM << endl << endl;
cout << global.structM << endl << endl;

}

,但解决方案当然不会那么简单。cout << global.value << endl << endl;显示为错误。我一开始就想,也许,只是也许,这行得通。我的希望很低,果然没有成功。它只说有no member named "structM" in std::basic_string<char>。那么,有办法解决这个问题吗?

c++不是这样工作的。类型在运行时定义。以后不能重新分配。

您可以使用指向struct成员的指针,但此处类型必须在编译时已知,并且不可交换。

不能通过存储在另一个变量中的名称间接访问变量。并动态更改。

你可以用映射和指针之类的东西来解决问题。

但不清楚你想要达到什么目的。听起来像个x - y问题。

职业训练局

我建议仔细看看这个外部资源,我相信它很好地解释了如何使用结构体以及您最初可以做什么。

c++ Struct With Example

最新更新