如何在C ++中初始化struct []或创建别名或指向现有的struct []

时间:2018-02-09 00:57:56

标签: c++ struct

我正在调整现有代码并希望避免重命名变量等。我在一个struct []中定义了值,并希望将其值赋给另一个struct []。

简化示例。我有:

static const struct {
  int xyz;
} var1[] = { {1}, {2}, {3} };

我想做的事情看起来有点像这样:

static const struct {
  int xyz;
} var2[] = var1;

[...]

if (var2[1].xyz === 1) {
  [...]
}

基本上我需要使用另一个struct []来别名/指向/ copy struct []。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的尝试无法正常工作,因为1.数组不可分配,因为2.您的两个未命名的类是分开且不相关的。

  

我可以以某种方式指定变量作为指向现有值的指针吗?

你当然可以:

Resource

在C ++ 11之前,您必须为该类命名:

static auto var2 = var1;  // pointer to first element
static auto var3 = &var1; // pointer to the array