VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 913|回复: 5

[求助] 关于结构体 释放

[复制链接]
34_avatar_middle
在线会员 发表于 2016-11-29 09:49:23 | 显示全部楼层 |阅读模式
3驿站币
struct Bianliang
{


Bianliang(  CvPoint &points, float Mz,double height) :points(points),Mz(Mz),height(height){}
CvPoint points;
float Mz;
double height;


};
bool lessmark(const  Bianliang&   s1, const  Bianliang&   s2)



{
    return s1.Mz < s1.Mz;
}


main中 我新建 vectorMianJieB;
然后我通过赋值将点压入vector中。最后我vector().swap(MianJieB);这样讲vector释放,我这样做是不是会有内存泄漏危险或者我的做法是否严谨





上一篇:CString 作为参数 读取文本显示到 EDIT控制中
下一篇:CSTring转换成const char
51_avatar_middle
online_admins 发表于 2016-11-29 19:08:32 | 显示全部楼层
MianJieB 的 vector 内部是什么类型的?
通过赋值将点压入vector中?这个点指的是?
34_avatar_middle
ico_lz  楼主| 发表于 2016-11-30 09:14:28 | 显示全部楼层
Syc 发表于 2016-11-29 19:08
MianJieB 的 vector 内部是什么类型的?
通过赋值将点压入vector中?这个点指的是?
  1. vector<Bianliang>MianJieB;
复制代码

压入的信息是 坐标(point)还有浮点的长度两个信息  和结构体对应的  
我的结构体是系统分配和释放
51_avatar_middle
online_admins 发表于 2016-11-30 09:38:02 | 显示全部楼层
如果结点Bianliang的内部都是一些 float,double 或者 其他一些可直接赋值的类型,那么在向 vector 中压入结点信息时就不用new,自然也不用释放,直接用值传递的方式进行赋值就行了,所以没什么问题!
34_avatar_middle
ico_lz  楼主| 发表于 2016-11-30 15:17:29 | 显示全部楼层
Syc 发表于 2016-11-30 09:38
如果结点Bianliang的内部都是一些 float,double 或者 其他一些可直接赋值的类型,那么在向 vector 中压入 ...

好的 谢谢你
69_avatar_middle
在线会员 发表于 2016-12-15 08:47:17 | 显示全部楼层
vector中指针传递是浅拷贝,值传递是深拷贝。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-18 09:38

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表