如何让 C++ 和 C# 一样易用,而且效率更高?
(未完成,待续。。)
第一章:C++基本功
1. 养成良好的编码习惯。
2. 堆上的资源随用随还,严格控制生命周期。
第二章:一些调试心得
1. 在VisualStudio环境下,曾出现 Detected memory leaks!,调试很久,有如下心得:
a. 可以逐步简化程序,确认问题点,同时使用 _CrtSetBreakAlloc(x) 辅助查找问题。
b. 使用 Borland 公司开发的 DevPartner,比较强大。
2. 一处 class 继承 后的问题。
在 C#中,几乎不用担心内存问题,而C++中则有些区别。
1 class A 2 { 3 protected: 4 int * p1; 5 }; 6 7 class A1 : class A 8 { 9 A1() 10 { 11 p1 = new int[10]; 12 } 13 ~A1() 14 { 15 delete [] p1; 16 } 17 };
以上代码,可能会报 内存泄露的错误。比如按以下方式调用:
1 A * a = new A1(); 2 delete a;
实际析构方式是: ~A(), 就截至了,并没有调用 ~A1()。 这导致内存泄露。
所以:int * p1 是基类的成员,就应该有基类来释放。子类想使用可以,但是仅限于使用,不能拥有(即:构造、析构都不应该由它来管理)。
修改后的代码如下:
class A { protected:int * m_p1;public:A(int p1_count){m_p1 = new int[p1_count];}~A(){delete [] p1;} };class A1 : class A {A1() : A(10){}~A1(){} };
转载于:https://www.cnblogs.com/robnetcn/p/5962925.html
如何让 C++ 和 C# 一样易用,而且效率更高?相关推荐
- 中易广告联盟v9/黑色高端/模板 团队介绍网站
介绍: 中易v9传媒黑色模板:一站式广告平台模板. 丰富的广告模式提升用户的收益转化.最佳的流量变现方案(通栏.插屏.跳转).丰富的网络广告. 投放经验帮助品牌瞬间传递! 注:只是中易v9模板,不含系 ...
- 中信:易悦组合,更愉悦
https://mp.weixin.qq.com/s/1PAGRxHTXtLcXhWXnTRWWQ 是时候说说中信的易卡和悦卡了. 虽然还款存在着一些坑需要留心,但是要论收割积分,中信的易悦二卡是绝不 ...
- 杭州支付宝出行vs北京地铁“易通行”,你更喜欢哪个?
最近,各大互联网公司.多个城市都在布局"互联网"+"公共交通".以杭州和北京为例,杭州支持支付宝扫二维码乘坐公交和地铁:北京地铁则走自主研发道路,推出了&quo ...
- C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制
目录 返利 www.cpa5.cn 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withW ...
- 3dmx软件工作灵活,易学易用,制作效率极高,渲染真实感极强
3D游戏角色(游戏中的主角.NPC.怪物等都是由3D角色建模师制作的3D游戏场景建模在项目中需求量比较高,入门上手比较快速,因此非常适合新手,并且根据我的近几年工作能明显感觉到,手绘类建模项目逐渐在减 ...
- 【NLP】大模型训练之难,难于上青天?预训练易用、效率超群的「李白」模型库来了!...
机器之心发布 机器之心编辑部 LiBai(李白)模型库覆盖了 Hugging Face.Megatron-LM.DeepSpeed.FairSeq 这些所有主流 Transformer 库的优点,让大 ...
- NumPy库的介绍与使用(一)
目录 一.NumPy库简介 二.NumPy库入门 1.数据的维度 2.安装NumPy 3.导入NumPy库 三.NumPy的数组对象:ndarray 1 为什么要引入ndarry呢? 2. ndarr ...
- PHP文字转语音排号声音,PC端好用的文字转语音软件有哪些?三款简单易用的软件推荐给你!...
在我们的日常生活中,语音和文字这两种沟通形式已经非常普遍的存在了,比如说开会时因为需要专注,所以用录音笔将开会的内容录制下来,会后再通过文字语音转换软件来进行内容的转换,最后整理成领导想要的文字形式的 ...
- 重庆“易法院”上线 民众足不出户参与诉讼全过程
图为重庆移动智能法院--"易法院"APP宣传海报. 刘贤 摄 图为重庆移动智能法院--"易法院"APP宣传海报. 刘贤 摄 中新网重庆1月15日电 (记者 刘贤 ...
最新文章
- awk linux 获取端口号_Linux提权后获取敏感信息命令
- Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()
- 修改VS2017新建类模板文件添加注释
- android 文件mimetype_android获取文件getMimeType的两种方法
- 搜狐视频怎么清除应用缓存
- java如何脱离ide运行_如何脱离IDE使用自己的jar包?
- ASP用正则验证邮箱地址手机号码电话号码格式
- 剑指offer——面试题42-2:翻转单词顺序
- 1203.1——条件语句 之 if语句
- [bzoj3481]dzy loves math III 解题报告
- 夏书祥-淘宝考试最新答案
- 从零开发微信公众号(PC)
- jmeter调用Python脚本(java调用Python程序)阶段一(可实现版)
- 浏览器密码查看工具-WebBrowserPassView使用实验 ——合天网安实验室学习笔记
- 计算机教程打字方法,技巧:打字指法和关键位置教程_IT /计算机_信息
- 对马的幽灵是关于人的
- BT种子/磁力/eD2K,P2P和各种下载协议
- php期末作业作业,作业作业作业作业作业作业
- 所托非人勿怪人,忠人之事需灵变
- command patten 读书笔记
热门文章
- 前端学习(3347):数组方法的运用和总结稀疏数组
- 前端学习(3346):设计模式之工厂模式3
- 前端学习(3121):react-hello-react的state的简写方式
- [js] 在DOM上同时绑定两个点击事件(一个用捕获,一个用冒泡),事件总共会执行几次,先执行哪个事件?
- 前端学习(2686):重读vue电商网站7之登录预校验
- 前端学习(2569):如何跨组件调用实例
- “约见”面试官系列之常见面试题之第六十篇之事件绑定和普通事件(建议收藏)
- 前端学习(1049):todolist正在进行和已经完成阶段2
- 前端学习(664):逻辑中断逻辑或
- 前端学习(225):尺寸属性