51CTO博客开发
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针
仅供学习使用,附转载连接:http://blog.csdn.net/hackbuteer1/article/details/6591486链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际
迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,你可以通过sizeof(vector::iterator)来查看,所占内存并不是4个字节。 首先对于vector而言,添加和删除操作可能
TCP报文结构(20字节)源端口和目的端口:各占2字节.端口是传输层与应用层的服务接口.传输层的复用和分用功能都要通过端口才能实现。序号:占4字节.TCP 连接中传送的数据流中的每一个字节都编上一个序号.序号字段的值则指的是本报文段所发送的数据的第一个字节的序号确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号数据偏移/首部长度:占4位,它指出 TCP 报文段的数据起始处距
功能:对已经存在文件的时间进行修改,存取时间(access time)、修改时间(modification time)。对不存在的文件,进行创建新的空白文件。短选项长选项含义-a–time=atime或–time=access或–time=use只更改存取时间-m–time=mtime只更改变动时间-d TIME–-date=字符串设定时间与日期,可以使用各种不同的格式-t S
最近在做一个服务器端程序,C/S结构。功能方面比较简单就是client端与server端建立连接,然后发送消息给server。我在server端会使用专门的线程处理一条socket连接。这就涉及到一个问题,如果socket连接断开(异常,正常)后,我如何才能感知到?server端这边是绝对被动的,sever端不能主动断开连接。也没有连接链路维持包之类的。client端发送数据的时间也是不定的。在s
1、进程和线程的区别进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。地址空间:进程有独立的地址空间,包括文本区域(text region)、数据区域(data region)和堆栈(stack region);一
exceptionType是异常类型,它指明了当前的 catch 可以处理什么类型的异常;variable是一个变量,用来接收异常信息。当程序抛出异常时,会创建一份数据,这份数据包含了错误信息,程序员可以根据这些信息来判断到底出了什么问题,接下来怎么处理。异常既然是一份数据,那么就应该有数据类型。C++ 规定,异常类型可以是 int、char、float、bool 等基本类型,也可以是指针、数组、
请设计4个类,“上帝”,“动物”,“狗”,“牛”,请简要写出类定义和实现代码,如有必要,可以引入辅助类。1、全世界只有一个“上帝”。2、只有“上帝”才能创造“动物”,“上帝”根据“动物”的名字创造“动物”。3、所有的“动物”都会跑。4、“狗”会吠。5、“牛”会吃。#include <iostream> #include <string> u
线程安全的单例模式实现:class Lock { private: CCriticalSection m_cs; public: Lock(CCriticalSection cs) 
智能指针原理,并实现一个简单的智能指针 智能指针是一种资源管理类,通过对原始指针进行封装,在资源管理对象进行析构时对指针指向的内存进行释放;通常使用引用计数方式进行管理,一个基本实现如下:class Object; class SmartPointer; class&nb
几种简单的排序算法实现冒泡排序void bubbleSort(int *pData,int count) { for (int i = 1;i<count;i++) { for (int j = count-1;j>=i;j--) { if (pDa
一些常见的字符串处理函数实现字符串拷贝char* strcpy(char* strDest,const char* strSrc) { assert(strDest!=NULL && strSrc!=NULL); char* strTmp = strDest; while(*strSrc
函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。返回值 若参数s1和s2字符串相同则返回0。s1长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0的值.int strcasecmp(const char *s1, const char 
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号