我正在使用C++ Builder XE4上的Windows7专业(32位)。
我有一个关于TStringList的问题;
我想要做的是知道TStringList变量是否是新的,以防止向非新闻的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的标准方法是什么?
发布于 2013-11-22 05:01:43
将指针初始化为NULL非常常见的是c/c++,并且当指针没有指向有效的东西时让它们为null。
因此,if语句是一段非常常见和适当的代码。
但是,这确实需要初始化变量。
除非在全局/文件范围声明,否则行: TStringList *list;不会将变量初始化为任何特定值--这会使它指向任意的废话。
您需要将其更改为TStringList *list = NULL;(或类似的,有些人不喜欢"NULL")
https://stackoverflow.com/questions/20137063
复制相似问题