1

我正在使用涉及一些 POD 和 UnicodeString 的结构,例如

struct TMyStruct
{
int value1;
bool value2;
UnicodeString mystring;
}

现在把它变成我使用的数组std::vector

std::vector<TMyStruct> myarray;
myarray.push_back(TMyStruct());
... etc.

我需要知道我是否需要更多的东西才能像这样使用它——比如 UnicodeString 部分的复制构造函数、深拷贝、结构的析构函数以及类似的东西,或者上面是否足以将 UnicodeString 用作结构数组?

当向量超出范围时,UnicodeString(s) 会自动销毁吗?换句话说,它会减少所有这些的引用计数器吗?

此外,是否有更类似于 VCL 的方式在数组中使用这样的结构。有没有更好的方法将结构中的非 POD 数据用作结构数组?

示例和其他方法表示赞赏。

4

1 回答 1

4

不,您不需要定义自己的复制构造函数或析构函数。 UnicodeString有自己的拷贝构造函数和析构函数。在您的示例中,默认编译器生成的复制构造函数和析构函数TMyStruct将自动调用的构造函数和析构函数。UnicodeString

于 2012-10-19T04:27:58.810 回答