gpt4 book ai didi

c++ - 构造函数和析构函数中的 std::vector::clear()

转载 作者:IT老高 更新时间:2023-10-28 21:59:27 26 4
gpt4 key购买 nike

我多次遇到在构造函数和析构函数中调用 std::vector 类型的类成员的 std::vector::clear() 的代码。

我不明白为什么需要它:

  1. 构造函数 - std::vector 类型的类成员默认为空,因此无需调用 clear()。
  2. 析构函数 - std::vector 类型的类成员将作为包含它的对象的标准销毁的一部分被销毁。作为 vector 销毁的一部分,其中包含的所有值对象都将被销毁(如果它堆分配了指向内存的指针,则应该“手动”删除它们),因此无需再次调用 clear()。

我错过了什么吗?

最佳答案

不,你没有错过任何东西。我怀疑这是(无害的)巫毒编程,有点像在释放指针后将指针设置为 null,或者在 GUI 代码中随机调用重绘/重验证。程序员记得它在过去帮助解决了某种错误,现在不必要地添加它“以防万一”。谁知道呢,也许会有所帮助。巫毒教。

关于c++ - 构造函数和析构函数中的 std::vector::clear(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1591018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com