如何知道TStringList是否是新的
How to know whether the TStringList was newed
我在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++LDAP检查用户是否是特定组的成员
- 检查某些类型是否是模板类 std::optional 的实例化
- 将错误返回给调用方而不是立即在 C++ 中抛出错误是否是一种好的做法
- 如何检查模板专用化是否是基本模板的子类?
- 如何检查变量是否是C++中的地图?
- C++ Chrono 确定一天是否是周末?
- 将相同共享指针的副本存储在不同的向量中是否是一种好的做法?
- 使用类在C++中存储和列出变量/方法是否是一种好的做法
- 代码在 CodeSignal 中工作不正确。不确定这是否是我的代码缺陷
- 如果 C 函数仍然可以间接执行(通过回调函数),那么将它声明为静态函数是否是一种不好的做法?
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- 检查 n2 是否是 n1 的倍数后结果错误,但根本没有错误
- C ++:检查它是否是类中的数字
- 传递给放置 new 的指针是否是指向其对象表示形式的非 UB 指针?
- 使用 SET(C++) 检查两个给定字符串是否是字谜时出现运行时错误
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 有没有办法检查发送到变量的值是否是正确的类型,而它已经在该变量下?
- 如何检查一个模板是否是另一个模板的类成员
- 有没有办法检查用户输入是否是数字?
- 如何知道TStringList是否是新的