C++专栏
文章平均质量分 78
lifanxi
……
展开
-
Visual C++的“虚拟属性”功能
Microsoft Visual C++的“虚拟属性”功能 译者注: 本文简单介绍了使用Microsoft Visual C++中的__declspec关键字来实现“属性(Property)”这个C++中没有的特性的方法。有关__declspec关键字的更详细的信息,可以参考MSDN。 __declspec关键字不是标准C++的一部分,因此这种实现“属性原创 2003-05-18 11:00:00 · 1877 阅读 · 0 评论 -
谁动了我的指针?
谁动了我的指针?译者序: 本文介绍了一种在调试过程中寻找悬挂指针(野指针)的方法,这种方法是通过对new和delete运算符的重载来实现的。 这种方法不是完美的,它是以调试期的内存泄露为代价来实现的,因为文中出现的代码是绝不能出现在一个最终发布的软件产品中的,只能在调试时使用。 在VC中,在调试环境下,可以简单的通过把new替换成DEBUG_NEW来实现功能更强更方便的指针检测,详情原创 2003-05-19 21:32:00 · 2149 阅读 · 0 评论 -
在C++中实现“属性 (Property)”
在C++中实现“属性 (Property)” 摘要:本文介绍了在C++中实现“属性 (Property)”的方法,“属性”是我们在C#(或其它一些语言)中常常能用到的一种特性。这里介绍的实现方法使用的是标准的C++,没有用任何其它的语言扩展。而大部分的库或是编译器为了实现“属性”,往往对C++作一些扩展,就像我们在托管的C++或是C++ Builder中看到的那样,也有的是使用普通的s原创 2003-05-12 18:18:00 · 3902 阅读 · 1 评论 -
小函数,大问题
对于strcpy,sprintf,strcat这些不安全的函数的讨论应该算是不少了,大家都知道可以用strncpy,snprintf和strncat来替换它们。但实际工作中似乎这些“安全版”的函数带来的疑惑还是不小,总结了一下,列在这里。 1.sprintf(char * str, const char * format, ...) -> snprintf(char * str, size原创 2007-04-11 22:18:00 · 6975 阅读 · 2 评论 -
如何在C++中动态分配二维数组
这个问题应该是我以前在CSDN蹭分时回答次数比较多的一个问题了,我的回答一般是三种方法:(1)用vector的vector,(2)先分配一个指针 数组,然后让里面每一个指针再指向一个数组,这个做法的好处是访问数组元素时比较直观,可以用a[x][y]这样的写法,缺点是它相当于C#中的一个锯齿 数组,内存空间不连续。(3)直接分配一个x*y大小的一维数组,这样保证空间是连续的,但访问数组元素不直观。对原创 2007-06-13 02:08:00 · 11807 阅读 · 5 评论