随笔分类 -  基础

摘要:C: malloc free //函数 calloc() 会初始化 realloc 会重置大小C++: new delete //运算符C++中内存分为5个区: 堆 栈 全局/静态区 常量区 自由存储区(也有说代码区)malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可以用于申请动态内存和释放内存。对于非内部数据类型对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数.. 阅读全文
posted @ 2012-09-24 10:19 Itachi7 阅读(1869) 评论(0) 推荐(0) 编辑
摘要:一、程序与进程程序: 一段静态的代码进程: 程序的一次动态执行过程二、 进程与线程进程: 进程是进程实体(程序段 数据段 PCB)的运行过程,是系统进行资源分配和调度的一个独立单位;线程: 又称轻量级进程(lightweight process),是进程中某个单一顺序的控制流;三、 进程与线程的区别1. 地址空间和资源: 进程间相互独立,同一进程的线程间共享;2. 通信:线程间可以直接通信(共享区),进程需要别的手段(信号、信号量、共享存储、管道通信、消息队列)3. 调度: 线程切换更快;线程是独立调度的基本单位,进程是独立资源分配的基本单位; 阅读全文
posted @ 2012-09-24 10:10 Itachi7 阅读(351) 评论(0) 推荐(0) 编辑
摘要:和单链表差不多,就不多说了。特别注意在插入和删除链表元素操作时,仔细考虑该元素与相邻元素的前向指针、和后续指针的改变。struct Node { int val; Node* pret; Node* next;};Node* cre_list(int n) //创建双向链表 n代表元素个数{ Node* head_temp = NULL; if (n > 0) { Node* head = new Node; head->val = rand()%100; head->pret = NULL; ... 阅读全文
posted @ 2012-07-06 15:18 Itachi7 阅读(206) 评论(0) 推荐(0) 编辑
摘要:链表是笔试面试经常考的内容,这次没有看书,完全按照自己的思路完成链表基本实现。1. 单链表的创建这里之前由于申请连续空间导致不可预见的错误,感谢花花帮我指出错误。struct Node { int val; Node * next;};Node* creat_list(int n) //创建单链表 n为元素个数{ Node* head = NULL; Node* head_temp = NULL; if (n > 0) { head = new Node; head_temp = head; /... 阅读全文
posted @ 2012-07-06 11:12 Itachi7 阅读(238) 评论(0) 推荐(0) 编辑
摘要:公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。私有继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。 保护继承时基类中各成员属性均变为protected,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问p 阅读全文
posted @ 2012-07-03 22:48 Itachi7 阅读(9007) 评论(0) 推荐(2) 编辑