浅析基于引用计数的字符串类string(转载)
摘要:原文地址:http://www.cppblog.com/mildcat1982/archive/2010/07/14/120390.aspx 1、在dev c++ IDE下,输入下面代码,检测string的实现机制。1#include<string>2usingnamespacestd;34intmain()5{6stringstr1="hello";7stringstr2(str1);89printf("str1address:%p\n",str1.c_str());10printf("str2address:%p\n"
阅读全文
posted @
2013-06-15 22:26
NeilHappy
阅读(452)
推荐(0)
RAII惯用法:C++资源管理的利器
摘要:原文地址:http://www.cnblogs.com/hsinwang/articles/214663.htmlRAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“ResourceAcquisitionIsInitialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RAII惯用法是在Bjarne Stroustrup的《C++程序设计语言(第3版)》一书中。当讲述C++资源管理时,
阅读全文
posted @
2013-04-11 17:00
NeilHappy
阅读(388)
推荐(0)
C/C++内存管理 笔记
摘要:内存管理是个比较复杂的东西,我这里记录一些比较重要的笔记。 0.永远保持谦虚的态度来使用指针和操作内存。 1.在用free释放内存后,要记得将指针赋值为NULL,防止产生"野指针"。 2.尽量不要用指针指向常量字符串。看一个小例子:char *p="abcde";p[0]='m';std::cout<<p<<std::endl; 用gcc编译会出现警告:warning: deprecated conversion from string constant to ‘char*’.然后试着运行本程序,会出现:bus e
阅读全文
posted @
2013-03-30 08:56
NeilHappy
阅读(683)
推荐(0)