struct Struct_t {
int Value1;
int Value2;
};
vector<Struct_t> Struct;
Struct.resize(10, Struct_t());
for (int i = 0; i < 10; ++i)
{
Struct[i].Value1 = (i + 10) * 3;
Struct[i].Value2 = (i + 5) * 2;
}
我该如何创建指向Struct[i]的指针?
我想做的基本上是这样的,但我相信这可以更好地完成:
int value = 6;
Struct_t temp = Struct[value], *s;
s = &temp;
s->Value1 = 42;
s->Value2 = 6;
我的主要目标是能够用一行代码或函数轻松地创建对Struct [n]的指针。
Struct_t& tmp = Struct[value]; tmp.Value1 = 23;
。下面提到的有关悬空指针的警告仍然适用,只在你知道向量不会被重新分配的受限范围内使用它。 - Ulrich Eckhardt