- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 智能指针
面试被问到智能指针了,当时不会,回来之后简单整理了一下,简单的了解一下智能指针: 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对
2013-10-17 10:14:51 440
转载 几种最短路径算法的比较
用于解决最短路径问题的算法被称做“最短路径算法”,有时被简称作“路径算法”。最常用的路径算法有:Dijkstra算法、A*算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法,本文主要介绍其中的三种。最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括:确定起点的最短路径问题
2013-10-16 22:40:34 891
转载 C++中智能指针的设计和使用
原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计
2013-10-16 10:28:29 529
转载 Window内核对象
Windows的内核对象大致有以下几种:1.访问令牌(access token)对象2.事件对象3.文件对象4.文件映射对象5.I/O端口对象6.作业对象7.邮件槽(mailslot)对象8.互斥量(mutex)对象9.管道(pipe)对象10.进程对象11.信号量(semaphore)对象12.线程对
2013-10-16 10:22:53 722
转载 java克隆(深浅拷贝,复制)详解
1.浅复制与深复制概念(1)浅复制(浅克隆)被复制对象的所有变量都含有与原来对象相同的值,而所有的对其他对象的引用仍然只指向原来的对象,换言之,浅复制仅仅复制锁考虑的对象,而不复制它所引用的对象。(2)深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量,那些引用其他对象的变量将指向被复制过的新对象,而不再试原有的那些被引用的对象,换言之,深复制把要复
2013-10-10 21:40:46 720
转载 new/delete 和malloc/free 的区别和联系
相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内
2013-10-10 17:08:28 461
转载 循环队列(C语言版)
线性结构的主要操作就是插入和删除,我 们前面讲过的顺序线性表、单链表、双链表都没有限制插入和删除操作的位置。如果我们限定插入和删除操作在线性表的同一端进行那么这种结构就是栈;如果限定 插入在一端而删除在另一端,这种结构就是对列;栈的特点是先进后出(FILO)而对列是先进先出(FIFO)。进行插入的一端叫队尾,删除的一端叫队头。 队列的实现可以用顺序线性表也可以用链表。在实际使用中有一种更
2013-10-10 16:37:03 1224
转载 TCP 阻塞模型下服务器和客户端的建立步骤
TCP服务器建立的步骤: 1. 调用socket建立TCP 套接字 2. 调用bind将套接字跟本地地址绑定 3. 调用listen建立监听 4. 建立accept接受来自客户端的连接,返回新的连接套接字 5. 在新的套接字上面,调用send/recv实现跟客户端的通信。
2013-10-10 09:50:13 1142
转载 编译和链接的区别
在多道程序环境中,要想将一个用户源代码变成一个可以在内存中执行的程序,通常分为三个步骤:编译、链接、载入。 (1)编译:由编译程序将用户的源代码编译成若干个目标模块。 (2)链接:由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的载入模块。 (3)载入:由载入程序将载入模块载入内存。
2013-10-10 09:46:00 608
转载 vc++6.0里面的f10和f11是干什么的
笔试的时候遇到一道关于调试的题:vc++6.0里面的f10和f11有什么区别?当时真心比太懂,现吸取教训,总结一下!答案:都是调试两个在普通的语句上没有什么区别都是执行下一行语句但如果当前行是一个函数调用时,就不一样了。f10的效果是执行下一条语句f11的效果是进入这个调用函数的内部,执行函数内部的下一行语句
2013-10-10 09:03:16 2932
转载 数据库 并发调度技术 四种问题 三级封锁协议
数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取
2013-10-06 20:41:25 4312 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人