首页 > 编程语言 >注意!!一定要谨慎使用c/c++原生指针

注意!!一定要谨慎使用c/c++原生指针

时间:2022-12-07 15:33:11浏览次数:44  
标签:原生 逻辑 GetEntityArray c++ World pAi mEntitys 指针


主要是顶层逻辑中引用了一个指针,而在业务逻辑中将此指针删除了。这种在代码量很少的情况下,很容易被发现,但是代码量多了,逻辑多了的时候,想一下子定位到问题所在,就没那么容易了。

结论:能用智能指针,就避免直接使用原生指针;删除指针时,要极其的小心,多想想是否有其它地方在引用着。随意的delete,会在你稍不注意的时候,就引入bug,而且极其难定位问题所在。

 

以下是顶层逻辑,在业务逻辑中,会删除m_World.GetEntityArray中的对象,导致内存访问违规!!!


//逻辑函数
BattleWorld::EntityArray mEntitys = m_World.GetEntityArray();
for ( auto it = mEntitys.begin(); it != mEntitys.end(); ++it )
{
if ( *it )
{
AiObject* pAi= (*it)->GetAi();
if ( pAi )
{
pAi->Run();
}
}
}


 

标签:原生,逻辑,GetEntityArray,c++,World,pAi,mEntitys,指针
From: https://blog.51cto.com/u_15905375/5919614

相关文章

  • 三.双指针
    ​​面试题16.06.最小差​​classSolution:defsmallestDifference(self,a:List[int],b:List[int])->int:a.sort();b.sort()i=j=0......
  • C++11 STL 完美转发
    http://m.biancheng.net/view/7868.htmlC++11标准为C++引入右值引用语法的同时,还解决了一个C++98/03标准长期存在的短板,即使用简单的方式即可在函数模板中实现参数......
  • 原生Ajax发送请求
    GET//1.创建一个xmlhttpRequest对象varxmlhttp=null;varres;if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}els......
  • C++——map设置两个value的方法
    方法:方法一:​​std::multimap<string,pair<int,int>>mulmap;​​方法二:​​std::multimap<string,vector<int>>mulmap;​​相关用法:​​C++——pair用法​​......
  • C++——引用&的功能及与指针*的区别
    C++——引用&的功能及与指针*的区别​​一、引用&的功能​​​​二、与指针*的区别​​​​三、真实案例​​​​参考资料​​一、引用&的功能用于函数传递参数,实现改变某个......
  • Vscode——windows系统搭建C/C++开发环境
    VSCode——windows系统搭建C/C++开发环境​​一、搭建C开发环境​​​​1.安装MinGW​​​​2.配置文件​​​​二、搭建C++开发环境​​​​1.安装MinGW​​​​2.配置文......
  • C++——cv::Rect数据结构详解
    成员rect.tl()//矩形左上角点的坐标rect.br()//矩形右下角点的坐标rect.size()//矩形的大小rect.area()//矩形的面积rect.empty()//判断矩形是否为空rect.contains()//判......
  • C++ 读写文本文件
    1.逐行读文本,文本以空格分隔points.txt文件内容如下:indexx1y1x2y202473722646141224158246400238926440750934664349028943337949618......
  • C++_动态链接库和搜索共享库
    标准1998 C++982011 C++11ISO/IEC14882:2011 2014 C++142017 C++172020 ISOC++委员会正式发布了C++20标准,命名为ISO/IEC14882:2020 实现01.命令查看自己......
  • C++-2数据类型-笔记
    2数据类型C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存2.1整型作用:整型变量表示的是整数类型的数据C++中能够表示整型的类型有以下......