本节书摘来自异步社区出版社《从缺陷中学习C/C++》一书中的第6章,第6.15节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

6.15 试图产生的指针很可能不存在

从缺陷中学习C/C++
代码示例

void func(const int* pInt, size_t size){size = *pInt;cout << "size:" << size << endl;
}
int main(){vector<int>veclnt;func(&veclnt[0], 4);return 0;
}

现象&后果
程序运行时,产生core dump。

Bug分析
在程序中,vectorveclnt定义了一个没有初始化的vector变量veclnt,因此,veclnt只是一个没有内存空间的空vector对象。调用函数func时,&vecInt作为参数,此时就产生了一个不存在的指针。因此,在函数func内对其进行取值操作时,导致程序core dump。

正确代码

int main(){
int func(const int* pInt, size_t size)
{if (pInt == NULL) return -1;
}

编程建议
使用指针前需要判断指针是否为NULL,避免空指针导致的程序异常。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

《从缺陷中学习C/C++》——6.15 试图产生的指针很可能不存在相关推荐

  1. 《从缺陷中学习C/C++》导读

    前言 从缺陷中学习C/C++ 这是一本在研究大量C/C++程序Bug基础上集结而成的书! 这是一本汇集众多一线C/C++编程人员智慧的书! 这是一本让您学好C/C++,绕过编程陷阱和障碍的必备案头书! ...

  2. 《从缺陷中学习C/C++》——6.18 小结

    本节书摘来自异步社区出版社<从缺陷中学习C/C++>一书中的第6章,第6.18节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区"异步社区&q ...

  3. 《从缺陷中学习C/C++》——6.3 数组传参时的sizeof

    本节书摘来自异步社区出版社<从缺陷中学习C/C++>一书中的第6章,第6.3节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区"异步社区&qu ...

  4. 东北农大: 邻苯二甲酸酯会导致十二指肠屏障缺陷中的微生物群-屏障-免疫交互的破坏...

    编译:杨天宁,编辑:微科盟居居.江舜尧. 微科盟原创微文,欢迎转发转载,转载须注明来源<微生态>公众号. 导读 邻苯二甲酸酯是常见的塑化剂,邻苯二甲酸二(2-乙基己基)酯(DEHP)是一种 ...

  5. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  6. 分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)

    分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日) 本周Silverlight学习资源更新: Silverlight Tools 4安装时的错误提示 ...

  7. 图神经网络的二阶池化:从节点表示中学习图的表示

    ©PaperWeekly 原创 · 作者|石壮威 学校|南开大学硕士生 研究方向|机器学习.图神经网络 本文 [1] 提出图神经网络的二阶池化方法,用以从节点表示中学习图的表示.与现有的图池化方法相比 ...

  8. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日) 本周Silverlight学习资源更新 Silverlight + DomainServi ...

  9. 论文浅尝 | 从具有数值边缘属性的知识图谱中学习嵌入

    论文笔记整理:朱珈徵,天津大学硕士 链接:https://www.ijcai.org/proceedings/2021/0395.pdf 动机 从遗传数据到社会网络,在越来越多的场景下与知识图谱边缘相 ...

最新文章

  1. Horizon6.2.0批量部署XP虚拟机
  2. css中图片整合的使用,CSS Sprites:图片整合技术详细案例
  3. 一个ioc例子jdk和spring版本导致问题
  4. Linux登陆Mariadb数据库,Mariadb数据库的远程连接(centos 7+ Navicat)
  5. super 和 this 关键字的比较+调用构造器(this)+动态绑定
  6. python 的笔记
  7. 如何把html转换cad,Tab2Xls插件(捷克版)将AutoCAD表格转换为XLS、CSV或HTML。
  8. 【tool】firewall防火墙
  9. #敏捷个人# 每日认识101(15):成为一个有执行力的人
  10. dataman软件设置中文_S7200 SMART软件常见错误处理办法
  11. net.sf.json.JSONException: #39;object#39; is an array. Use JSONArray instead
  12. Skype for Business 2015全新部署_07.前端安装02
  13. github安卓版下载_Pandownload安卓版+IDM神器,手机还有下载不了的资源吗?
  14. Windows 各平台远程桌面客户端
  15. Android蓝牙发送hc05,【MM32F103试用体验】+HC05蓝牙与Android手机通信
  16. python训练营风变编程_扒一扒风变编程的社群运营手段,满满都是套路
  17. 前端开发--箭头函数
  18. mac笔记本怎么外接显示屏_Mac电脑外接显示器全攻略
  19. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
  20. halcon算法库中各坐标系,位姿的解释及原理

热门文章

  1. Reformer: 高效的Transformer
  2. 西瓜书_阶段1_作业参考
  3. 德国版“非升即走”引发学界震荡!“临时工”干12年也难获教职,网友:全世界都在卷...
  4. 【微软亚洲研究院MSRA】招聘多模态方向算法实习生
  5. 在哥大计算机视觉读博的五年总结
  6. 你熟知的那个杀毒软件公司McAfee,用这种方法骗过护照人脸识别系统
  7. 学了这些,他薪资涨了40%,收割了阿里、头条、快手等大厂的offer!
  8. 一张图看懂中科大、国科大、中科院、社科院、上科大之间的关系
  9. 【每日一算法】爬楼梯
  10. pandas对缺失值NaN处理