如果我有一个std::vector,我想要完全覆盖(不仅仅是调整大小),在内存管理方面,什么是最安全的方法?例如:
将创建一个值为5.0的长度为5的浮点数向量。然后将其用值为6.0的大小为6的向量覆盖,然后用值为4.0的大小为4的向量覆盖。如果我要执行此类操作无限次,是否存在破坏或泄漏内存的风险?在每次覆盖之前应该使用
我相信这个问题已经被问了很多次,但谷歌并没有提供我所需要的确切情况。
谢谢!
int main() {
std::vector<float> X (5, 5.0);
X = std::vector<float> (6, 6.0);
X = std::vector<float> (4, 4.0);
}
将创建一个值为5.0的长度为5的浮点数向量。然后将其用值为6.0的大小为6的向量覆盖,然后用值为4.0的大小为4的向量覆盖。如果我要执行此类操作无限次,是否存在破坏或泄漏内存的风险?在每次覆盖之前应该使用
clear()
吗?有没有更有效的方法来实现这一点?我相信这个问题已经被问了很多次,但谷歌并没有提供我所需要的确切情况。
谢谢!