《从缺陷中学习C/C++》——6.15 试图产生的指针很可能不存在
本节书摘来自异步社区出版社《从缺陷中学习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 试图产生的指针很可能不存在相关推荐
- 《从缺陷中学习C/C++》导读
前言 从缺陷中学习C/C++ 这是一本在研究大量C/C++程序Bug基础上集结而成的书! 这是一本汇集众多一线C/C++编程人员智慧的书! 这是一本让您学好C/C++,绕过编程陷阱和障碍的必备案头书! ...
- 《从缺陷中学习C/C++》——6.18 小结
本节书摘来自异步社区出版社<从缺陷中学习C/C++>一书中的第6章,第6.18节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区"异步社区&q ...
- 《从缺陷中学习C/C++》——6.3 数组传参时的sizeof
本节书摘来自异步社区出版社<从缺陷中学习C/C++>一书中的第6章,第6.3节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区"异步社区&qu ...
- 东北农大: 邻苯二甲酸酯会导致十二指肠屏障缺陷中的微生物群-屏障-免疫交互的破坏...
编译:杨天宁,编辑:微科盟居居.江舜尧. 微科盟原创微文,欢迎转发转载,转载须注明来源<微生态>公众号. 导读 邻苯二甲酸酯是常见的塑化剂,邻苯二甲酸二(2-乙基己基)酯(DEHP)是一种 ...
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)
分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日) 本周Silverlight学习资源更新: Silverlight Tools 4安装时的错误提示 ...
- 图神经网络的二阶池化:从节点表示中学习图的表示
©PaperWeekly 原创 · 作者|石壮威 学校|南开大学硕士生 研究方向|机器学习.图神经网络 本文 [1] 提出图神经网络的二阶池化方法,用以从节点表示中学习图的表示.与现有的图池化方法相比 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日) 本周Silverlight学习资源更新 Silverlight + DomainServi ...
- 论文浅尝 | 从具有数值边缘属性的知识图谱中学习嵌入
论文笔记整理:朱珈徵,天津大学硕士 链接:https://www.ijcai.org/proceedings/2021/0395.pdf 动机 从遗传数据到社会网络,在越来越多的场景下与知识图谱边缘相 ...
最新文章
- htc desire 10 pro android 8.0,HTC Desire 10 pro手机:可能是Desire系列最好的手机
- 线程的几种状态_拜托:不要再问我线程有多少种状态了
- Java常见容器(Container)关系图
- Perl sendmail
- 2017和2019对比图刷屏,真实扎心!苹果中国女老板也跟风晒图...
- php_self include,PHP_SELF返回/index.php/index.php
- 华为开发者大会2020(Together)精彩集锦
- iOS开发:2分钟快速集成支付宝快捷支付
- 关于搭建k8s集群遇到的问题与解决方法
- Bzoj4698: [Sdoi2008]Sandy的卡片
- iPhone尺寸大全(包含iPhone14系列)
- iOS 图标和文字自定按钮
- Win7从文件服务器复制文件速度慢问题处理
- restapi是什么意思_网上整理的对于Rest和Restful api的理解
- 面试题:堆、栈、队列的区别以及使用场景
- Integrating Factor
- 最逼近Mac OS的Linux系统 -- Elementary OS
- 对接银联商务微信公众号支付遇到的坑
- 2.4.2 算术逻辑单元的功能和结构(改进)
- 【源码解读】Transformer的Scaled dot product部分详解