共 18 篇文章 |
|
检查C 内存泄露的方法 - 指针与内存相关怎样检查你的代码有没有内存泄露呢? 需要在前面加上这些代码:#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)#else.#define _CRTDBG_MAP_ALLOC#include <stdlib.h>#include <crtdbg.h>#include <string.h>#include <stdio.h>#ifdef _DEBUG#... 阅2216 转56 评1 公众公开 08-10-28 22:24 |
VC内存泄露检测 - VC常见错误与技巧。一个最敏感和难检测的bug就是内存泄漏-没有把前边分配的内存成功释放,一个小的内存泄漏可能不需要太注意,但是程序泄漏大块内存,或者渐增式的泄漏内存可能引起的现象是:先是性能低下,再就是引起复杂的内存耗尽错误。data: < > cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd object dump... 阅5244 转41 评0 公众公开 08-10-28 22:09 |
// 删除原有资源空间; // 必须牢记; delete m_color; m_color = new char[strlen(rhs.m_color) + 1]; strcpy(m_color, rhs.m_color); }// 释放前一个值的资源; delete temp.m_color; temp.m_color = new char[strlen(this->m_color) + strlen(rhs.m_color) + 1]; sprintf(temp.m_color, "%s%s", this->m_color, rhs.m_colo... 阅1671 转27 评0 公众公开 08-10-28 21:52 |
3.安装MSXML4.0SDK 早期的MSXML版本,特别是MSXML2.5和MSXML3.0,借助于xmlinst.exe工具,可以以替换模式进行安装。这种模式有助于保护那些使用msxml.dll、msxml2.dll,或者msxml3.dll的应用程序,使其不受干扰,仍可照常使用。从MicrosoftXMLDownloadCenter下载回安装程序,安装程序将在你的机器上安装三个文件:msxml4.dll、msxml4a.dll和... 阅3071 转17 评1 公众公开 08-10-16 20:24 |
第一种情况:char* p="how are you ?";char name[20]="ABCDEFGHIJKLMNOPQRS";strncpy(name,p,sizeof(name)) //name改变为"how are you ? " ====>正确!strncpy(name,p,sizeof(name));总结:strcpy如果源长>目标长,则将源长中等于目标长的字符拷贝到目标字符串如果源长<目标长,则源长全... 阅1719 转6 评1 公众公开 08-10-05 10:31 |
printf 格式化输出。printf()格式转换的一般形式如下%(flags)(width)(.prec)type以中括号括起来的参数为选择性参数,而%与type则是必要的。整数%d 整数的参数会被转成一有符号的十进制数字%u 整数的参数会被转成一无符号的十进制数字%o 整数的参数会被转成一无符号的八进制数字%x 整数的参数会被转成一无符号的十六进制数字,并以小写abcdef表... 阅2455 转12 评0 公众公开 08-06-14 09:34 |
using namespace std详解(收集整理)后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;C++标准程序库中的... 阅493 转9 评0 公众公开 08-06-09 12:48 |
关于构造函数中的异常处理。在c++中,如果对象的构造函数有异常被抛出,则该对象不会被构造,对吗?但是,构造函数中抛出异常的话,如果构造函数在此之前自己又调了new(没有使用auto_ptr),那么这个内存可不会自动回收,将泄漏。个人认为LZ的例子中只要能捕捉到异常,说明构造函数成功,那个对象已经被构造,但是如果抛出异常没有捕捉到,从... 阅1313 转1 评0 公众公开 06-11-07 00:43 |
两种方式的区别见前文 ios::in: 文件以输入方式打开 ios::out: 文件以输出方式打开 ios::nocreate: 不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc: 如果文件存在,把文件长度设为0 可以用"或"把以上属性连接起来,如ios::out|ios::binary./... 阅1371 转22 评0 公众公开 06-10-29 10:15 |