上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 61 下一页
  2010年6月1日
摘要: 一般是三种方法:(1)用vector的vector,(2)先分配一个指针 数组,然后让里面每一个指针再指向一个数组,这个做法的好处是访问数组元素时比较直观,可以用a[x][y]这样的写法,缺点是它相当于C#中的一个锯齿 数组,内存空间不连续。(3)直接分配一个x*y大小的一维数组,这样保证空间是连续的,但访问数组元素不直观。对于我这个“经典”回答,我那时还一直是 挺得意的,... 阅读全文
posted @ 2010-06-01 22:15 carekee 阅读(989) 评论(0) 推荐(1)
摘要: 对于strcpy,sprintf,strcat这些不安全的函数的讨论应该算是不少了,大家都知道可以用strncpy,snprintf和strncat来替换它们。但实际工作中似乎这些“安全版”的函数带来的疑惑还是不小,总结了一下,列在这里。  1.sprintf(char * str, const char * format, ...) -> snprintf(char... 阅读全文
posted @ 2010-06-01 22:14 carekee 阅读(3379) 评论(0) 推荐(1)
摘要: 译者序:  本文介绍了一种在调试过程中寻找悬挂指针(野指针)的方法,这种方法是通过对new和delete运算符的重载来实现的。  这种方法不是完美的,它是以调试期的内存泄露为代价来实现的,因为文中出现的代码是绝不能出现在一个最终发布的软件产品中的,只能在调试时使用。  在VC中,在调试环境下,可以简单的通过把new替换成DEBUG_NEW来实现功能更强更方便的指针检测,详情可参考MSDN。DEBU... 阅读全文
posted @ 2010-06-01 22:14 carekee 阅读(290) 评论(0) 推荐(0)
摘要: 译者注: 本文简单介绍了使用Microsoft Visual C++中的__declspec关键字来实现“属性(Property)”这个C++中没有的特性的方法。有关__declspec关键字的更详细的信息,可以参考MSDN。 __declspec关键字不是标准C++的一部分,因此这种实现“属性”的方法只适用于Visual C++,如果想要了解在标准... 阅读全文
posted @ 2010-06-01 22:13 carekee 阅读(518) 评论(0) 推荐(0)
摘要: 摘要:本文介绍了在C++中实现“属性 (Property)”的方法,“属性”是我们在C#(或其它一些语言)中常常能用到的一种特性。这里介绍的实现方法使用的是标准的C++,没有用任何其它的语言扩展。而大部分的库或是编译器为了实现“属性”,往往对C++作一些扩展,就像我们在托管的C++或是C++ Builder中看到的那样,也有的... 阅读全文
posted @ 2010-06-01 22:12 carekee 阅读(1777) 评论(0) 推荐(0)
摘要: 问题源自一段简单的代码:在以上代码中,如果你输入:abcd,那么如你所望,你会看到"正确"的输出"c"。但是会有错误提示出现: Debug Error!Program: test.exeDAMAGE: after Normal block(#64) at 0x003429f8更离奇的是,如果将代码改为如下的代码: 如果只输入一个字符a,那么依然报错。是不是奇怪,分配了一个字符,输入了一个字符,那么... 阅读全文
posted @ 2010-06-01 22:06 carekee 阅读(391) 评论(0) 推荐(1)
摘要: 内存可以说是C和C++语言学习的关键点。这里说一点我的理解,一家之言,欢迎拍砖哈。内存要想理解透彻,首先要理解内存编址。即不同的内存条,内存模块,插到机器上,具体对应的内存地址是多少。最开始的PC机,IBM PC XT,只有640k内存。IBM是这么规划的,最低的128k,是BIOS的地址,毕竟BIOS也是汇编语言,它也需要合法地址,才能被CPU正确运行。512k~640k,被定义为端口映射地址,... 阅读全文
posted @ 2010-06-01 18:00 carekee 阅读(702) 评论(0) 推荐(1)
摘要: C语言并不是一种很方便的语言,它的字符串就是一例。按照C语言的定义,“字符串就是一段内存空间,里面包含ASCII字符,并且,以”\0”结尾,总共能存放n-1个字符。”按照这个描述,字符串处理确实很麻烦,还很容易出错。 为了方便用户,C语言标准库向用户提供了一些字符串函数,如字符串拷贝、构造、清空等函数,在一定程度上方便了用户的使用。但是,我无意中发现... 阅读全文
posted @ 2010-06-01 17:58 carekee 阅读(660) 评论(1) 推荐(1)
摘要: 当今国互联网的飞速发展让人们获益匪浅,同时人们对于互联网的期望值也变得越来越高。这就形成了一个矛盾,虽然互联网的发展已经是相当迅猛的了,但是人们还是期望从服务器到客户终端的文件传输的速度能够比现在再快一些,这种要求(当然是合理的要求)好像从来也满足不了。在向人们询问“一种什么样的速度对于数据传输来说才是最理想的”问题时,几乎每一次你都会得到一种不同的答案:有的人认为数据传输... 阅读全文
posted @ 2010-06-01 17:50 carekee 阅读(3530) 评论(0) 推荐(0)
摘要: 早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢!以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户端同时提供文件下载服务,程序的性能会随机器内CPU个数的增加而线性... 阅读全文
posted @ 2010-06-01 17:46 carekee 阅读(1875) 评论(0) 推荐(0)
摘要: Boost库实在是一个博大精深的库。经过实验,我发现巧用boost::bind和boost::function可以实现一些巧妙的设计。 编写过MFC程序的朋友都知道,通过资源编辑器编辑菜单项,设定菜单项ID,然后MFC内部通过该ID来映射菜单命令处理函数和菜单界面更新函数。我设想撇开MFC的资源编辑,在MFC程序中通过xml文件来进行界面配置,然后利用字符串来映射消息处理函数。借助boost库,... 阅读全文
posted @ 2010-06-01 17:03 carekee 阅读(392) 评论(0) 推荐(0)
摘要: CSDN上有网友提问:view plaincopy to clipboardprint?int *pArray_No1,*pArray_No2,a[]={1,2,3,4}; pArray_No1=new int[10]; pArray_No2=a; cout < <sizeof(pArray_No1) < <endl //结果为4 < <sizeof(pAr... 阅读全文
posted @ 2010-06-01 17:02 carekee 阅读(497) 评论(0) 推荐(0)
摘要: 请注意,这里我所说的动态数组不是指你自己new 出来的数组,而是指STL 中的std::vector 和MFC 中的CArray 之类的容器。开始以为使用std::vector 不过是免除动态内存之苦。免除自己手动开辟和释放内存是一方面,实际上在使用的过程中你会逐渐发现使用std::vector 的好处。今天我就发现了一个好处。今天我修改别人写的一个图像匹配算法,所谓图像匹配就是找出两幅图像中相同... 阅读全文
posted @ 2010-06-01 17:01 carekee 阅读(990) 评论(0) 推荐(1)
摘要: 在MFC工程(包括单文档、多文档、基于对话框、MFC DLL等)调试程序时可以使用trace宏来输出相关变量的值,在Win 32工程(包括Win32 Application和Win 32DLL)只能使用OutputDebugString函数来输出相关变量值。但是我觉得OutputDebugString比起trace宏有很大的不足,OutputDebugString不能像trace宏一样格式化输出,... 阅读全文
posted @ 2010-06-01 16:58 carekee 阅读(699) 评论(0) 推荐(0)
摘要: 对话框DoModal()函数调用失败一般而言有两种表现形式:一是对话框弹不出来,但是没有错误提示;二是对话框弹不出来,同时伴随内存访问错误的提示框出现。第一种表现主要是因为没有对资源句柄进行切换造成的,以在DLL中弹出对话框中最为常见。解决办法是:如果是MFC规则DLL,可以使用所有导出函数的开始处添加 AFX_MANAGE_STATE宏,具体代码为:AFX_MANAGE_STATE(AfxGet... 阅读全文
posted @ 2010-06-01 16:58 carekee 阅读(4230) 评论(1) 推荐(0)
摘要: Windows环境下读写文件一般有下列有下面几种方式:C语言的文件操作函数,如fopen函数等,C++的I/O流库,Win32 API的文件操作函数,如CreateFile()、WriteFile()、ReadFile(),MFC的文件操作类,如CFile和CStdioFile等等。但是在大型的数据文件,上面的文件处理方法是不太适合的。对于大文件的操作一般是以内存映射文件来加以处理的。为此本人以读... 阅读全文
posted @ 2010-06-01 16:56 carekee 阅读(472) 评论(0) 推荐(0)
摘要: 一个朋友向我请教一个程序,相关代码如下: string s; vector <string> vs; ifstream inFile("F:\\MyReceiveFiles\\FillCompo_KP.mod", ios::in); while (getline(inFile, s)) vs.push_back(s); cout<<vs.size()<<endl... 阅读全文
posted @ 2010-06-01 16:55 carekee 阅读(2159) 评论(0) 推荐(1)
摘要: 前言:dbf文件是一种著名的数据库文件,其特点是可以记录单个数据表的数据。Maozefa大侠曾经写过两篇文章论述如何操作dbf文件:《C++老代码 -- DBF数据文件操作类DBFile》(http://blog.csdn.net/maozefa/archive/2007/09/16/1787074.aspx)和C语言版的DBF本地数据库文件操作函数(http://blog.csdn.net/ma... 阅读全文
posted @ 2010-06-01 16:41 carekee 阅读(1480) 评论(0) 推荐(0)
摘要: 1. 你们的项目组使用源代码管理工具了么?  应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。2. 你们的项目组使用缺陷管理系统了么?  应该用。ClearQuest太复杂,我的推荐是BugZilla。3. 你们的测试组还在用Word写测试用例么?  不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是T... 阅读全文
posted @ 2010-06-01 15:59 carekee 阅读(226) 评论(0) 推荐(0)
摘要: 在软件行业中,个人觉得每个Coder、Leader(那些当了Leader以后就不需要Code的除外)都应该除了具有良好的编码能力以外,最为主要的就是Debug的能力要坚实。千万不要告诉我Debug工作是Tester和QA的事情,首先你要认识到Debug的能力是一个并不简单的能力,能帮助你提高你的开发能力,加快开发速度,节约开发成本;其次你更应该知道,你所掌握的Debug的能力和技术并不可能抢去Te... 阅读全文
posted @ 2010-06-01 15:42 carekee 阅读(295) 评论(0) 推荐(0)
上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 61 下一页