如何告诉lint跟踪指向向量的托管指针
How can I tell lint to track a custodial pointer to a vector?
我有一些代码可以循环和更新一些指针,并将它们存储在向量中:
std::vector<InputBox*> m_octets;
...
InputBox* octet = new InputBox(rect, title, touch_num);
m_octets.push_back(octet);
在类析构函数I中,for_each
覆盖m_octets
,并为每个指针调用析构函数。我认为这一切都很好。它全部编译,单元测试通过。问题是Gimpel的PC lint不喜欢它。它发现"octet"是一个尚未释放的托管指针(警告429)。我当然可以禁用该警告,但手册(11.2.1)指出这是有语义的。我本以为会起作用:
-sem(*push_back, custodial (1))
不幸的是,它没有任何效果。我尝试过各种组合,包括完全指定m_octets.push_back
,但似乎都不起作用。对于给定的例子,有人知道这个命令的正确形式吗?
这个对我来说很好:-sem(std::vector::push_back, custodial(1))
相关文章:
- 有没有一种"cleaner"的方法可以在指向基的指针向量中找到派生类的第一个实例?
- 如何更改唯一指针向量的可见性
- 如何在基类指针向量的元素上应用重载的多态函数
- C++:添加新结构时,结构指针向量中的所有元素都会更新
- 包含指向其他结构的指针向量的结构
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 如何将字符串指针数组转换为字符串类型的智能指针向量?
- 初始化可变数据结构中的共享指针向量
- 指向具有 decltype 的函数的指针向量
- push_back指向指针向量的指针
- 使用指针向量(带代码)C++(以及对其使用的便利性的怀疑)时出现问题
- 我可以做些什么来改进指针向量中的此搜索?
- 指向指针排序向量的指针向量的 C++ 向量
- 初始化用户定义类的指针向量
- 函数无法识别我在C++传递节点指针向量?
- 如何声明指向类对象的指针向量?
- 指向结构的指针向量的元素具有相同的地址
- 删除指向抽象类的指针向量
- 当我返回指向结构的指针向量时出现段错误
- 用基于范围的for循环填充指针向量