在我的项目中,我发现了一段代码,其中在构造函数的初始化列表中调用了一个方法。Test2(Test*pTest):m_pTest(pTest),m_nDuplicateID(pTest->getTestID()){}我观察到Test2的用户有可能将NULL传递给构造函数。由于指针在未经验证的情况下使用,因此有可能发生访问冲突。这促使我研究构造函数的初始化列表中的异常处理。我在其中一篇文章中发现可以在初始化列表中使用try。我写了一个小测试程序来测试这个概念://TestclassstorestheuniqueIDandreturnsthesamewithAPIgetTestIDclass
我正在玩一些内存动态分配,但我不明白。当使用new语句分配一些内存时,我应该能够使用delete销毁指针指向的内存。但是当我尝试时,这个delete命令似乎不起作用,因为指针指向的空间似乎没有被清空。让我们以这段真正基本的代码为例:#includeusingnamespacestd;intmain(){//Icreateapointer-to-integerpTest,makeitpointtosomenewspace,//andfulfillthisfreespacewithanumber;int*pTest;pTest=newint;*(pTest)=3;cout有什么线索吗?
我正在玩一些内存动态分配,但我不明白。当使用new语句分配一些内存时,我应该能够使用delete销毁指针指向的内存。但是当我尝试时,这个delete命令似乎不起作用,因为指针指向的空间似乎没有被清空。让我们以这段真正基本的代码为例:#includeusingnamespacestd;intmain(){//Icreateapointer-to-integerpTest,makeitpointtosomenewspace,//andfulfillthisfreespacewithanumber;int*pTest;pTest=newint;*(pTest)=3;cout有什么线索吗?