C/C++
文章平均质量分 75
oceanlee2
爱好计算机
展开
-
Windows内存管理机制及C++内存分配实例(一):进程空间
本文背景:在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。本文目的:对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。本文内容:本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及原创 2009-07-20 13:52:00 · 945 阅读 · 0 评论 -
sscanf()的一些使用说明
这里有些sscanf()的一些使用说明,都是从论坛,Blog里整理出来的。供大家使用。 通过学习和使用个人认为,在字符串格式不是很复杂,但是也并不简单的时候用这个函数比较合适,这个尺度就要靠自己把握了,字符串不是很复杂,但自己写个处理的函数比较麻烦,效率也不高,就用这个函数,如果字符串很复杂,那就用正则表达式吧。不多说了,看看下面这些介绍和列子吧!名称:sscanf() - 从一原创 2009-11-01 10:48:00 · 425 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入原创 2009-10-31 23:37:00 · 362 阅读 · 0 评论 -
几种排序算法的比较
1.插入排序:每次将一个待排的记录插入到前面的已经排好的队列中的适当位置。①.直接插入排序直接排序法在最好情况下(待排序列已按关键码有序),每趟排序只需作1次比较而不需要移动元素。所以n个元素比较次数为n-1,移动次数0。最差的情况下(逆序),其中第i个元素必须和前面的元素进行比较i次,移动个数i+1,所以总共的比较次数 比较多,就不写出来了总结:是一种稳定的排序方法,时间复杂度O(n^2原创 2009-10-27 02:21:00 · 844 阅读 · 0 评论 -
strcpy()、memcpy()、memmove()、memset()的实现
strcpy(), 字符串拷贝.char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL)); char *address = strDest; while( (*strDest++ = * strSrc++) != /0) NULL ;原创 2009-10-12 13:06:00 · 473 阅读 · 0 评论 -
一个关于临时对象的BUG
一个关于临时对象的BUG 我相信任何一个使用C++超过一定时间的程序员都不会否认这样一个事实:使用C++需要有足够的技巧。它充满了有各种各样的难以识别的陷阱,顷刻就可以让一段看起来毫无破绽的代码崩溃。例如,对C/C++的新手而言,学会如何考虑对象的生存期就是他们必须跨越的一个障碍,这方面最典型的问题,就是对对象指针的使用,特别是在使用一个已经被删除了的对象指针的时候: MyClass *mc原创 2009-08-19 13:01:00 · 436 阅读 · 0 评论 -
memmove函数用法
memmove函数用法说明:dst的缓冲区足够存放src的大小,dst可以与src内存重叠,注意复制源在未复制之前不能修改.void * __cdecl memmove ( void * dst, const void * src, size_t count ) { void * ret原创 2009-08-07 09:57:00 · 1410 阅读 · 0 评论 -
COM技术初探(一)
COM技术初探(一)目录 一. COM是一个更好的 C++ 1. COM 是什么 2. 从 C++ 到 DLL 再到 COM 2.1 C++ 2.2 DLL 2.3 COM二. COM基础 1. COM基本知识 1.1 返回值HRESULT 1.2 初识idl 1.3 IUnkown接口 2. 一个比较原创 2009-07-24 17:42:00 · 393 阅读 · 0 评论 -
VS6.0与OFFICE2007冲突解决办法
VS6.0与OFFICE2007冲突解决办法 最开始安装了VC6.0,VS2005没有任何问题,之后安装了VS2008,问题就出来了,每次用VC6.0打开或添加项目时出现【MSDEV.EXE-应用程序错误"0x73d311c7"指令引用的"0x00000004"内存,该内存不能为"read"】,开始没有发现是哪里什么问题,后面因为必须用VC6.0开发,不得不试了好多版本,都不行,于是只原创 2009-07-22 01:21:00 · 1273 阅读 · 0 评论 -
C++的内存分配
C++的内存分配有两种方法(分配和释放未构造的原始内存):1)allocator类,2)new 和delete第一种:allocator类的定制算法:allocatora :定义分配类型为T的分配对象a;a.allocate(n) : 分配T类型的n个空间,不调用类型的构造函数;a.deallocate(p,n): 释放在T*的p指针处的n个对象所具有的内存空间,不用类型析原创 2009-07-24 09:03:00 · 498 阅读 · 0 评论 -
利用strstr和sscanf解析GPS信息
考察C程序员是否合格的一个重要标准就是看他操作字符串的能力,一个合格的C程序员应该可以熟练的对字符串进行拆分、组合、格式转换以及搜索定位,从一堆数据中提取出有效信息。比如说我们要做一个GPS导航的项目,需要读取GPS模块以ASCII码的形式发送过来的数据,然后对这些数据进行处理,提取我们需要的信息。这就涉及到很多操作字符串的问题。下面就以此为例,利用strstr函数和sscanf函数解析GPS原创 2009-12-26 16:42:00 · 805 阅读 · 0 评论