《从缺陷中学习C/C++》——6.15 试图产生的指针很可能不存在-阿里云开发者社区

开发者社区> 异步社区> 正文

《从缺陷中学习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,避免空指针导致的程序异常。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Human vs AI,人类和机器的学习究竟谁更胜一筹?
在各种任务中人类的学习能力和机器的学习能力究竟哪个更胜一筹?
6 0
Java 性能优化:35个小细节,让你提升Java代码运行的效率
  代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。   代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。
12 0
北航与第四范式团队KDD Cup RL Track冠军方案:解密共享出行场景中的优化问题
作者:罗远飞 近日,全球顶级数据挖掘竞赛 KDD Cup 2020 已经正式画上圆满句号,KDD Cup 2020 RL Track 比赛结果也随之出炉,北京航空航天大学软件开发环境国家重点实验室童咏昕教授研究组与第四范式罗远飞组成的联合团队脱颖而出,斩获 KDD Cup 2020 强化学习挑战赛冠军。
8 0
重磅发布开源框架2.0RC版 、生物计算平台「螺旋桨」,百度飞桨交了份年终成绩单
在 12 月 20 日举行的「WAVE SUMMIT+ 2020 深度学习开发者峰会」上,飞桨平台交出了一份非常亮眼的年终成绩单。
6 0
SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
4 0
NLP三大特征提取器全梳理:RNN vs CNN vs Transformer
在进行 NLP 模型训练前,请先选择一个好的特征提取器。
3 0
首家强化学习大规模落地工业应用,快手是如何做到的?
快手的日活跃用户数量超过三亿,其背后是业界领先的人工智能技术。
4 0
暑假实习面试总结——Go语言|Golang
目录 前景 一面HR 二面技术面 终面 总结
6 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
11939
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载