自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 关于通过不含虚析构函数的基类类型的指针删除派生类对象的问题

如题。这问题先得基于一个前提条件:析构函数不含释放其他资源的代码,甚至可以是空函数,甚至甚至都可以干脆的不写。这种情况下是否仍有任何问题。   这个问题的结论是 会导致未定义的行为(但不是内存泄漏那么简单)。具体如何就看编译器的实现了。   我们常用的编译器,如vc、gcc等都是用的尾部追加成员的...

2013-10-05 08:22:44 3128 1

原创 在没有对象的情况下使用decltype和sizeof问题的解决方案

假如声明了一个类型A,想得到其大小,可以写作 sizeof(A) 假如定义了一个A类型的对象o,想得到其大小,可以写作 sizeof(o) 假如声明了一个结构体TAG,内有成员m,想得到其大小,可以写作 sizeof(TAG::m)是吗?不行的。因为现在TAG::m的处

2011-10-01 22:08:34 855 1

转载 [转]wxWidgest: 编程风格指导

http://www.wxwidgets.org/develop/standard.htm#no_ternarywithobjects   --------------------------------------------------------------- Pro

2011-08-10 10:36:33 1122 0

转载 #pragma pack 文章收集

关键内容已标成绿色

2011-07-25 08:03:45 783 0

原创 关于右值引用的粗略研究

右值和右值引用相关要点

2011-07-02 11:05:30 847 0

转载 微软kinect的五个非游戏的应用

<br />http://techland.com/2010/11/26/top-five-uses-for-your-kinect-besides-gaming/<br /> 

2010-12-05 17:20:00 638 0

转载 [转]程序员会犯的10个错误

1 不是为人,而是为编译器写程序; 2 编写巨型函数; 3 高深莫测地优化技巧; 4 使用全局变量; 5 事先不做好规划; 6 “多出一个”(例如一个访问数组的循环中不正确的循环中止条件,导致数组访问越界); 7 压制异常、对错误毁尸灭迹; 8 以纯文本形式存储秘密; 9 不检查用...

2010-12-05 16:52:00 988 0

原创 规范化的C++编程方法备忘录 整数分类的细则

整数

2010-10-10 22:31:00 647 0

转载 [转]字符串编码杂谈

多语种的字符串编码实现简介

2010-07-27 16:03:00 695 0

原创 (转)为什么要用C运行时库的_beginthreadex代替操作系统的CreateThread来创建线程?

1.截取自 http://www.cnblogs.com/s5689412/archive/2006/12/05/582670.html 2.似乎是对《windows核心编程》线程那章的copy & paste ??

2010-06-17 11:03:00 808 0

原创 规范化的C++编程方法备忘录 本地化相关[写中文版软件必看](2)

-从字符串中取字符:对于ASCII及UNICODE(1),方法比较简单,直接用相应的类型变量赋值即可:char c = *pszAscii;wchar_t cw = *pswzUncd;对于多字节:规定每个字符最多为5个字节,因此用一个64位整数表示。然后附上一个长度值。将你要拣出的字符,从首字符...

2010-05-17 21:58:00 702 0

原创 (转)Boost源码剖析之:容器赋值-assign 收藏

原文出处 http://oss.org.cn/?action-viewnews-itemid-3939Boost源码剖析之:容器赋值-assign发布: 2009-4-30 10:18    作者: ECHO    来源:    查看: 99次 相信大多数使用STL的人都是为了使用里面的容器,使用...

2010-05-16 20:03:00 580 0

转载 (转)《如果让我重新读次研究生》——王泛森院士 收藏

一、研究生与大学生的区别    首先跟大家说明一下研究生和大学生的区别。大学生基本上是来接受学问、接受知识的,然而不管是对于硕士时期或是博士时期的研究而言,都应该准备要开始制造新的知识,我们在美国得到博士学位时都会领到看不懂的毕业证书,在一个偶然的机会下,我问了一位懂拉丁文的人,上面的内容为何?他...

2010-05-09 14:44:00 801 0

原创 规范化的C++编程方法备忘录 程序流程(3)

避免条件分离-以下代码不好int aiBuff[15];...for(i = 0; i < 15; i++) aiBuff[i] = 0; 要改成int aiBuff[15];...for(i = 0; i < sizeof(aiBuff) / sizeof(aiBuff[0])...

2010-05-08 17:30:00 532 0

原创 规范化的C++编程方法备忘录 本地化相关[写中文版软件必看](1)

1.字符和字符串-编码:为了将人类定义的文字在计算机中能完整地表示,人们使用逻辑上连续存放的整数表示语句。受历史的影响(早期的计算机是没有考虑国际化的。那是为科学家和高校设计的,字符串存在的目的之一是用尽可能少的字符表达特定环境下的语义。知道意思即可,所以不乏大量的英文缩写、符号与数字的混合体),...

2010-04-30 09:25:00 898 0

原创 规范化的C++编程方法备忘录 常用符号表示方法

-如果系统对某个操作有自己的一套规则,就尽量使用系统提供的库文件中声明过的符号,不要自己去实现它例1:不要在系统要求使用 GET_X_LPARAM(a) 的地方使用 (int)(short)((a) & 0xffff) 取代(如GetMessagePos的返回值)。例2:不要自己实现多字节...

2010-04-30 08:26:00 1144 0

原创 规范化的C++编程方法备忘录 对象管理

    先说一些题外话...  其实并没有“Win64编程”这一说法。只有64位Windows、64位平台、(应用程序的)64位版本。Win32PlatformSDK自从7.0版发布以来就做了修订。支持32/64位一体化代码。微软保证:没有特殊说明的API在32位和64位上都有相同的形式(仅针对库...

2010-04-22 17:36:00 638 0

原创 规范化的C++编程方法备忘录 Windows下线程编程(Rev1.1)

    编译原理、计算机原理的基本内容,我不想重复了。放上些内容,主要是关于理论与实际间的差距。 - 线程间共享变量应该在声明时加入volatile关键字    如果不加会怎样?看以下代码:intptr_t a = 1; // Reset by another thread....while(a)...

2010-04-22 17:33:00 502 0

原创 规范化的C++编程方法备忘录 c++ for windows(2)

DllMain(说明:这不是一个API,但用对它很重要)  详见http://msdn.microsoft.com/en-us/library/ms682583.aspx,(你在自己的MSDN光盘上也可找到。后同,略)需要强调的是Remarks中的"The entry-point fun...

2010-04-22 17:29:00 605 1

原创 规范化的C++编程方法备忘录 c++ for windows

上面几贴的内容会很有用。后面说的假定你已经知道这些东西了。这是一个复杂的系统,需要大量的人做不同的工作... C++和Windows并无本质的联系,但个人认为在操作系统中,Windows的MSDN是C++/C中非常规范的典型例子,不像其他操作系统、非MS公司的windows软件那样,代码编写的随意...

2010-04-22 17:26:00 709 2

原创 规范化的C++编程方法备忘录 程序流程(2)

 - 函数 - 前面提过的:成员函数(方法)是不参与决定结构本身的大小的,但函数指针成员则参与。这很好理解:因为函数指针就是一个指针变量。 - 如果有结构体或类指针/引用作为参数,未经说明就不要将无同步保护的多线程共享结构地址传入该函数。 - 如果你想自己定义并编写好用的函数:1.明确函数的行为、...

2010-04-22 17:23:00 475 0

原创 规范化的C++编程方法备忘录 内存管理

很多编程书都谈过这个问题。只关心API的可见罗云斌的《Win32汇编语言程序设计》;关心质量的典型,可见林瑞的《高质量程序设计指南C/C++》;如果用的C++,就应该知道各种经典的对象管理技术,以及用模板包装常规对象如句柄的方法(例如C++ for COM中的ATL),还可以用类似垃圾收集器的原理...

2010-04-22 09:31:00 485 0

原创 规范化的C++编程方法备忘录 杂项约定

1.引子    对于程序编制人员来说,怎样安排他们的代码成了他们除设计具体算法外的最大的任务之一。和学生时代开发的试验品相比,所写代码还必须在执行正确的前提下(但这是个绝对的前提),保证健壮、可靠、系统收敛的,还必须尽可能的快(但不能以降低稳定为代价)。你还得保证代码看起来“漂亮”,以便让其他人看...

2010-04-22 09:15:00 442 0

原创 规范化的C++编程方法备忘录 程序流程

 - goto语句的争议    从前很多人都喜欢用goto,结果程序结构常常变得难以理解,现在却相反——坚决反对goto,甚至有人要取消它。这就叫“goto恐惧症”...    用goto即有好处又有坏处,看具体情况了。    如:for(y = 0; y {    for(x = 0; x   ...

2010-04-21 14:13:00 713 0

原创 规范化的C++编程方法备忘录 C/C++算数运算:

    已经知道的,不说了...大家都知道的,可以问问,查查资料。这里又放些附加建议:1.基本算数运算:  既然计算机里没有真正的整数,那么计算机里也没有真正的算数运算。    取值范围:  设a和b是两个占一样位宽的无符号整数,这种整数可取到最大值MAX:    如果f1为一元运算,f2为二元运...

2010-04-21 13:56:00 651 0

原创 规范化的C++编程方法备忘录 结构体和类

  -复合式数据类型的大小:很久前看过有计算机考题如下:struct tcs{    char a, b, c;};则sizeof(tcs) == ______编程时发现实际情况与答案不同:如果你写了一个这样的结构体,编译运行,调试时应该会显示结果为4。这是因为有对齐到WORD边界的规定(答案就是...

2010-04-21 13:35:00 993 0

原创 规范化的C++编程方法备忘录 整数声明

形式上把整数分成3大类:-通用型整数:int/long/short/char,及他们的unsigned类型特点:标准字节的宽度 | 用于大小有限,又不强调最大值,或者最大值总保证满足实际需要的场合。| 平台无关。不同的编译器,同样类型的整数,不同编译器厂商规定的实际字节的宽度可能不同,具体由编译器...

2010-04-14 14:51:00 696 0

原创 规范化的C++编程方法备忘录 说明

编程最有趣的地方在于:以前越怕麻烦,以后就越麻烦。 我身边的“大部分”同行,写代码的随意性很大。直到出现“bug”才去查,结果发现潜在的问题到处都是...只好发现一点改一点。我想这就是国产软件不好的根本原因之一吧:懒得做好就做不好。不要忘了一个系统的有效性等于各部分有效性的乘积。到处都有点小...

2010-04-14 05:44:00 557 0

提示
确定要删除当前文章?
取消 删除