博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C++/VC

摘要:http://msdn.microsoft.com/zh-cn/library/be94e8aw.aspx 阅读全文

posted @ 2010-03-10 13:25 RUI2021 阅读(317) 评论(0) 推荐(0)

摘要:realloc 用过很多次了。无非就是将已经存在的一块内存扩大。char* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就可以了。因为最近在做个封装。结果在做单元测试的时候发现。有时候我在 free(q); 的时候会出错。这样我... 阅读全文

posted @ 2009-10-26 14:24 RUI2021 阅读(615) 评论(0) 推荐(0)

摘要:一、问题提出首先,我们来看以下两个小程序:  程序1:#include <stdio.h>struct struct1{char p1;short int p2;long p3;};main(){printf(″the size of the strcu=%d\n″, sizeof(struct1));return(1);}  运行结果是:the size of... 阅读全文

posted @ 2009-09-29 17:15 RUI2021 阅读(1114) 评论(0) 推荐(0)

摘要:一、程序运行平台不同的平台上对不同数据类型分配的字节数是不同的。个人对平台的理解是CPU+OS+Compiler,是因为:1、64位机器也可以装32位系统(x64装XP);2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);3、即使是32位的编译器也可以弄出64位的integer来(int64)。以上这些是基于常见的wintel平台,加上我们可能很少机会接触... 阅读全文

posted @ 2009-09-29 17:09 RUI2021 阅读(6001) 评论(0) 推荐(2)

摘要:1.内存问题的原因及分类在C/C++程序中,有关内存使用的问题是最难发现和解决的。这些问题可能导致程序莫名其妙地停止、崩溃,或者不断消耗内存直至资源耗尽。由于C/C++语言本身的特质和历史原因,程序员使用内存需要注意的事项较多,而且语言本身也不提供类似Java的垃圾清理机制。编程人员使用一定的工具来查找和调试内存相关问题是十分必要的。总的说来,与内存有关的问题可以分成两类:内存访问错误和内存使用错... 阅读全文

posted @ 2009-09-28 11:27 RUI2021 阅读(1096) 评论(0) 推荐(0)

摘要:归结点:  1、malloc与free是C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。   2、对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务... 阅读全文

posted @ 2009-09-27 13:43 RUI2021 阅读(251) 评论(0) 推荐(0)

摘要:字符串封装类原著:Michael Dunn 引言  因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。  这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C+... 阅读全文

posted @ 2009-09-25 00:42 RUI2021 阅读(1014) 评论(0) 推荐(0)

摘要:Win32 字符编码原著:Michael Dunn 引言  毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。  在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方... 阅读全文

posted @ 2009-09-25 00:33 RUI2021 阅读(694) 评论(0) 推荐(2)

摘要:字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。常见的获取字符串长度的方法包括如下几种。1.使用sizeof获取字符串长度sizeof的含义很明确,它用以获取字符数组的字节数(当然包括结束符\0)。对于ANSI字符串和UNICODE字符串,形式如下:sizeof(cs)/sizeof(char) sizeof(ws)/sizeof(wchar_t)可以采用类... 阅读全文

posted @ 2009-09-24 23:46 RUI2021 阅读(80282) 评论(2) 推荐(3)