随笔分类 -  编程语言及数据结构

该文被密码保护。
posted @ 2020-03-12 22:07 一代枭雄 阅读(32) 评论(0) 推荐(0)
摘要:StaticLinkList中数据元素删除时的效率问题 void destroy(Node* pn) { SNode* space = reinterpret_cast<SNode*>(m_space); SNode* psn = dynamic_cast<SNode*>(pn);//从父类指针,转 阅读全文
posted @ 2020-02-22 15:15 一代枭雄 阅读(200) 评论(0) 推荐(0)
摘要:LinkList中遍历操作与删除操作混合使用 删除成功后,list.current()返回什么值? #include <iostream> #include "LinkList.h" using namespace std; using namespace DTLib; int main() { L 阅读全文
posted @ 2020-02-22 15:03 一代枭雄 阅读(647) 评论(0) 推荐(0)
摘要:LinkList中的数据元素删除 LinkList<Test> list; Test t0(0), t1(1), t2(2); try { list.insert(t0); list.insert(t1); //在t1析构时抛出异常 list.insert(t2); list.remove(1); 阅读全文
posted @ 2020-02-22 10:02 一代枭雄 阅读(504) 评论(0) 推荐(0)
摘要:什么空指针问题呢?首先看一下调用过程:创建一个NullPointerException类的对象(1)调用父类的构造函数Exception,并且以0作为参数;(2)调用到init函数,以3个0作为参数;(3)通过调用strdup函数,将message复制一份出来,然后将复制出来的message赋值给m 阅读全文
posted @ 2020-02-15 21:43 一代枭雄 阅读(432) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-14 22:39 一代枭雄 阅读(38) 评论(0) 推荐(0)
摘要:实验一:证明new_handler全局函数是否存在 #include <iostream> #include <new> #include <cstdlib> #include <exception> using namespace std; class Test { int m_value; pu 阅读全文
posted @ 2020-02-13 09:58 一代枭雄 阅读(278) 评论(0) 推荐(0)
摘要:动态内存申请一定成功吗?常见的动态内存分配代码 C代码: int* p = (int*)malloc(10 * sizeof(int)); if( p!=NULL ) { //... ... } C++代码: int* p = new int[10]; if( p!=NULL ) { //... . 阅读全文
posted @ 2020-02-13 09:42 一代枭雄 阅读(245) 评论(0) 推荐(0)
摘要:问题:如何判断一个函数是否会抛出异常,以及抛出哪些异常?假设在开发的时候,调用一个函数来完成某项任务,这个函数不是你写的或者是第3库中的一个函数,那么问题来了,你如何确定这个函数会不会抛出异常呢?为什么要搞清这个问题,因为我们学习了异常处理,那么我们在调用一个函数的时候,就必须考虑这个函数会不会抛出 阅读全文
posted @ 2020-02-12 22:45 一代枭雄 阅读(312) 评论(0) 推荐(0)
摘要:问题:如果在main函数中抛出异常会发生什么? #include <iostream> using namespace std; class Test { public: Test() { cout << "Test()" << endl; } ~Test() { cout << "~Test()" 阅读全文
posted @ 2020-02-12 21:25 一代枭雄 阅读(302) 评论(0) 推荐(0)
摘要:new[]/delete[]与new/delete完全不同-动态对象数组创建通过new[] 完成-动态对象数组的销毁通过delete[]完成-new[]/delete[]能够被重载,进而改变内存管理方式 new[]/delete[]的重载方式 //static member function voi 阅读全文
posted @ 2020-02-11 21:02 一代枭雄 阅读(421) 评论(0) 推荐(0)
摘要:如果已经掌握在静态存储区上创建对象的方法,那么可以扩展一下,可以在任意地址上创建C++对象。 解决方案:-在类中重载new/delete操作符-在new的操作符重载函数中返回指定的地址-在delete操作符重载中标记对应的地址可用 自定义动态对象的存储空间 第二个实验指定了空间为静态存储区中的空间, 阅读全文
posted @ 2020-02-11 20:24 一代枭雄 阅读(1276) 评论(0) 推荐(0)
摘要:#include <iostream> #include <string> using namespace std; class Test { private: static const unsigned int COUNT = 4; static char c_buffer[]; //首先定义一个 阅读全文
posted @ 2020-02-11 19:38 一代枭雄 阅读(273) 评论(0) 推荐(0)
摘要:new关键字创建出来的对象位于什么地方?很明显嘛,new关键字创建出来的对象一定位于堆空间,这种说法一定正确吗?本篇博客帮你揭开其神秘的面纱。 被忽略的事实new/delete的本质是C++预定义的操作符C++对这两个操作符做了严格的行为定义-new:1.获取足够大的内存空间(默认为堆空间)2.在获 阅读全文
posted @ 2020-02-11 13:16 一代枭雄 阅读(318) 评论(0) 推荐(0)
摘要:实例1:适用于非const对象 #include <iostream> #include <string> using namespace std; class Test { private: int m_value; int m_count; public: Test(int value = 0) 阅读全文
posted @ 2020-02-11 12:59 一代枭雄 阅读(274) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-01-03 22:53 一代枭雄 阅读(157) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-01-02 23:29 一代枭雄 阅读(107) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-12-29 22:54 一代枭雄 阅读(49) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-12-29 18:39 一代枭雄 阅读(35) 评论(0) 推荐(0)
摘要:完成DynamicArray类的具体实现 DynamicArray设计要点——类模板 动态确定内部数组空间的大小 实现函数返回数组长度 拷贝构造和赋值操作 DynamicArray类的声明 测试: 代码优化: DynamicArray类中的函数实现存在重复的逻辑,如何进行代码优化? 重复代码逻辑的抽 阅读全文
posted @ 2019-12-18 23:43 一代枭雄 阅读(726) 评论(0) 推荐(0)