删除传递到函数C++中的新变量
Delete a new variable passed into a function C++
我有以下代码:
shipVertices = { //This is going to cause a memory leak
new sf::Vertex(new sf::Vector2f(0, 0)),
new sf::Vertex(new sf::Vector2f(.2, .4)),
new sf::Vertex(new sf::Vector2f(.15, -.8)),
new sf::Vertex(new sf::Vector2f(0, -1)),
new sf::Vertex(new sf::Vector2f(-.15, -.8)),
new sf::Vertex(new sf::Vector2f(-.2, .4))
};
在我的析构函数中,删除构成shipVertices
的sf::Vertex
是微不足道的。如何删除传递给这些构造函数的new sf::Vector2f(x, y)
?
我甚至需要删除这些吗?我认为他们可能会以某种方式在内部处理。
查看sfml文档中的API,sf::Vertex的构造函数是Vertex (const Vector2f &thePosition)
,它需要一个常量引用(因此您也可以传入临时引用)。您试图为它提供指针,这是调用new
运算符的结果,因此它甚至不应该编译。
因此,不需要销毁Vectors,因为根本不需要动态分配它们。
相关文章:
- C++:继续创建新的变量可以吗
- 定义C++新的环境变量并在 bat 文件中使用它
- 堆栈粉碎 在我在代码中添加新变量以及一些操作后C++检测到
- C++,每个循环初始化一个新的静态变量
- 非指针变量和类成员上的新放置
- 从 for 循环的每次迭代创建一个新变量
- 如何从构造函数声明新的私有变量?
- 嵌套的类成员变量不可访问.链表设置.V、下一个和新的问题
- 有没有办法初始化不涉及编写构造函数的新结构变量?
- 是否可以在没有结构的情况下创建新的类型变量?
- “auto”每次创建一个新的变量实例
- 使用C 中的Cython CDEF公共变量:变量永远不会初始化
- 字符串从变量(&变量)地址的长度 - 嵌入式C
- C++ 结构中的可选变量(变量结构)
- 用向量替换类新的[]变量-移动、复制运算符
- 我可以在构建一个新的变量模板参数时使用一个变量模板参数吗
- 未初始化的本地变量(变量是类中的对象)-MYSQL
- C共享对象,带有c++归档,静态变量/变量,和开放
- 变量>>变量在 c++ 中的含义是什么?
- 在类中构造新的变量使我的程序崩溃