C ++类似于Pascal中的记录数组

时间:2013-05-11 17:46:25

标签: c++ arrays

我正在学习C ++。我的主要语言是Free Pascal。在FP中,我可以这样做:

type
  TSomeType = (Foo1, Foo2, Foo3);

  TSomeRecord = record
    Field1: String;
    Field2: String;
  end;

var
  MyArray: array[TSomeType] of TSomeRecord;

因此数组的长度= 3。然后我可以使用它,例如:MyArray[Foo2].Field1 := 'Some string'我可以在C ++中做类似的事情吗?在C ++数组教程中找不到解决方案

此致

1 个答案:

答案 0 :(得分:2)

C ++中的等效代码看起来像这样:

enum { Foo1, Foo2, Foo3, N };

struct SomeRecord
{
   string Field1;
   string Field2;
}

SomeRecord array[N];

array[Foo2].Field1 = "Some String";