我在Windows7 Professional(32位)上使用C ++ Builder XE4。

我对TStringList有疑问;

我想做的就是知道是否对TStringList变量进行了更新,以防止将Add()方法添加到未更新的TStringList中。

我以为检查NULL可能有用,但是没有。

TStringList *list;
// list = new TStringList();  // someone commented out by mistakes

if (list == NULL) {
    ShowMessage(L"NULL");
} else {
    ShowMessage(L"not empty");
}
return;


上面的代码显示“非空”对话框。

检查已更新或未更新的TStringList的标准方法是什么?

最佳答案

在c / c ++中,将指针初始化为NULL并在不指向有效对象时将它们设置为null是非常普遍的。

因此,您的if语句是非常常见且适当的代码。

但是,这确实需要初始化变量。

除非在全局/文件范围内声明,否则行:TStringList * list;不会将变量初始化为任何特定值-这使它指向随机废话。

您需要将其更改为TStringList * list = NULL; (或类似的,有些人不喜欢“ NULL”)

关于c++ - 如何知道TStringList是否已更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20137063/

10-08 22:38