??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久超碰中文字幕伊人,久久精品成人一区二区三区,久久嫩草影院免费看夜色http://www.shnenglu.com/Randy/Z所以痛苦,在于q求错误的东?/description>zh-cnTue, 06 May 2025 20:12:43 GMTTue, 06 May 2025 20:12:43 GMT60c++之父之一席之?也许是笑话,但不要仅仅当成笑?http://www.shnenglu.com/Randy/archive/2009/11/01/99939.htmlRandyRandySun, 01 Nov 2009 06:08:00 GMThttp://www.shnenglu.com/Randy/archive/2009/11/01/99939.htmlhttp://www.shnenglu.com/Randy/comments/99939.htmlhttp://www.shnenglu.com/Randy/archive/2009/11/01/99939.html#Feedback2http://www.shnenglu.com/Randy/comments/commentRss/99939.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/99939.htmlq一适当时专访的完全拯Q没有被~辑、删Ҏ者做q什么润色处理,也没有发布过Q可能看h不像常见的杂志文章,但这是实情?

你会发现真正引h入胜的地?.. ...

记? 您在几年前你改变了Y件设计世界的面貌Q现在再回首往事您有什么感惻I

Stroustrup: 事实上我在你到来之前的这些天里一直在考虑qg事,你还记得几乎所有的人都在写 CE序那会儿吗Q麻烦的是这些h写得太好了,而且那些个大学也都在努力的传?C~程技术。的他们是十分的成功——我要特别的指出"成功"q个词——因U显著的 CE序员的培养效率Q这是产生问题的原因?

记? q难道是个问题吗Q?

Stroustrup: 当然Q你记得大家都在用Cobol语言写程序的时候吗Q?

记? 哦,当然Q当时我也一栗?

Stroustrup: 在一开始的时候,q些人简直象半个上帝似的拿着高工资,享受着贉|一L待遇?

记? 唉,那些日子多么的让人怀念,是吧Q?

Stroustrup: 当然了。但是接着发生了什么?IBM觉得q样不舒服,投资了数百万来培养E序员,直到E序员多得一毛钱可以雇一打?

记? q就是ؓ什么当时我撤出来了Q工资在一q里降Ch们在说做个记者都比程序员强的地步?

Stroustrup: 对啦Q那时侯相同的事情发生在了CE序员n上了?

记? q个我明白了Q可是您要说的是......

Stroustrup: 有一天,我坐在办公室里就在想如何能把qg事挽回一些。我想知道如果有一U特别复杂而且难以学会的语aQ是否就没有人可以又把程序员们搞到市场的泥潭里去呢?我用了从X10里了解到的东西,Q噢Q就是X-WindowsQ真是一个该ȝ囑ŞpȝQ只能运行在那些个SUN 3/60的机器里Q哈Q它h所有我惌的特征:可笑而复杂的语法Q含L功能描述Q还有伪装的OOl构Q就是在现在,q是没有人愿意用那些东西Q如果你不想发疯的话QMotif才是唯一解决Ҏ?

记? 你是在开玩笑?

Stroustrup: 没有Q事实上q有另外的一个问题,UNIX是用C写的Q就是说M一个CE序员都可以很容易的成ؓpȝE序的开发者。还记得一个大型的Lpȝ应用的开发者通常能挣多少钱吗Q?

记? 你肯定是知道我当时就是干q个的?

Stroustrup: 好吧Q因此这个新的语a一定要通过隐藏所有的pȝ调用来和UNIX分离开来,q样可以佉K些个只是知道DOS的h也可以活得很体面?

记? 我不大相信您说的q个......

Stroustrup: 而且到现在时间也够长的了Q我怿有很多的人已l指ZC++是对旉的浪费,我要说的是,q个q程比我惌的要长的多了?

记? 那么您又是如何做到的呢?

Stroustrup: 那只是一个玩W,我真的没有想Ch们会寚w本书那么认真。Q何h只要长了半个大脑也应该明白面对对象编E是荒谬而不合逻辑的,而且效率低下?

记? 什么?

Stroustrup: 再说代码重用Q你什么时候听说过有公叔R用他的代码?

记? 事实上从来没有,但是......

Stroustrup: 那么我提醒你一下,在早期有很多的例子。哦Q有一家叫Menter Graphics的俄勒冈州公司,我认Z们应该是感冒了,竟然?0q或者是91q把所有的代码用C++重写了一遍,对不P我实在是想不L切的旉了,我看大家应该从这个事件中吸取教训?

记? 没有人真正的吸取了教训吗Q?

Stroustrup:

没有Q而且q有很多公司犯同L错误Q还向他们的股东解释说那3亿美圆的损失是正常的Q他们就是做了这L事情?

记? 真的Q可是这也只能证明OOҎ是能够工作的Q不是吗Q?

Stroustrup: 也许吧,执行文g是那么大Q在一台有128M内存的HP工作站上只是装蝲到内存中p?分钟旉Q然后将象毛毛虫爬树一Lq行。事实上我在W一个礼拜就发现了这个缺点,奇怪的是好象没人在乎这个,Sun和HP好象只在乎买出那些功能强大的各种玩意儿,而不在乎在上面跑什么程序。在AT&.T的时候我~了一?Hello World"E序Q简直是难以|信Q执行文件有2.1M?

记? 那么大?是啊Q就是从那时候开始的~译E序产生大个的文件的?

Stroustrup: 是q个样子Q如果你不信的话Q可以用最新版的g++试一下,你得到的东西不会于0.5MQ而且在最q也有一些在各个国家的例子,比如在British Telecom公司发生的灾难,但是q运的是他们把原来的计划废弃了,又重新开始,他们比Australian Telecom公司q运Q现在我又听说Siemens公司又在?恐龙"了,他们目前是越来越担心要用来加速执行Y件所要用的昂贵的高速硬ӞN你真的认为那些个多态承是一U乐吗Q?

记? 噢,但是C++的确是一U可靠的语言啊!

Stroustrup: 你是真的怿的,对吧Q你有没有真的坐下来用C++开发过目Q我来告诉你会发生什么:首先Q我会加入够的~陷来让那些微不道的模块先执行Q让工作蝲Q在工程扫尾的阶D,你回发现几乎所有的模块都会有这U缺Pq是因ؓZ以ؓ是应该q样做,因ؓ在C++的教E中是q样写的。在相同的模块中执行不同对象的相似操作意味着Q有一些东西在各个模块中是完全不相同的。当你有了互不相同的上百个这L模块Q就可以把他们集成在一起了。其ơ,我再说说所谓的数据隐藏Q上帝啊Q当我听说了有的组实现了什么对象协同通信Q我真的是憋不住想笑Q我看,OOҎ中的"协同"q个词可以把目l理的肋条篏断?

记? 我不得不说着太可怕了Q你q说q是用来提高E序员的工资Q这太龌龊了Q?

Stroustrup: 龌龊Q不是这LQQ何h都有选择的权利。我是ƈ不想让事情发展成q个样儿的。不怎么_我基本上q是成功的。C++现在已经不行了不是?而且E序员现在还是能挣到高工资的——特别是那些q要l护q些该死?++"东西的那些程序员。你应该明白如果你去l护一个不是由你开发的C++模块是不可能的?

记? 怎么会这LQ?

Stroustrup: 你糊涂了Q还记得typedef吗?

记? 噢,当然?

Stroustrup: 知道要在头文仉发现?RoofRaised'q样的变量是一个双_ֺ数要用多长的旉吗?惌一下要在一个工E里所有的cd义里L那些typedefs
... ...
... ...

记? 那么你ؓ什么认定你已经成功了呢Q?

Stroustrup: q记得一般一个CE序目要多长时间吗Q一般是6个月。这对于一个要Ld孩子的程序员是不够的。如果是一L目Q但是用C++来开发,会怎么样呢Q我告诉你:要一两年才能做完Q这不好吗?是一个小的~程语言选择的决定,语言E序员就不会L的下岗了不是Q而且那些个大学已l很久没有传授C了,现在是对CE序员的短缺。特别是对UNIX~程熟悉的程序员。在使用了这么多q的"new"以后Q而且一直以来一直都不用担心q回值的问题。还有多程序员知道使用"malloc"Q事实上Q大多数的C++E序员舍弃了q回|无论什么样的结果,甚至于返回了"-1"Q其实用不着什?throw'?catch'?try'之类的东西,臛_你应该知道生了错误?

记? 但是l承的确不是可以节省很多旉的吗Q?

Stroustrup: 是吗Q你注意qC目计划和C++的项目计划之间的不同吗?在进行了三次pȝ功能分解后,要确定所有的东西都可被承到Q如果没有那么说明还是有错,但是有谁在C~程里听说过存储渗漏q个说法Q现在你可以在业界的大厂商的产品中发CQ有很多的公怸得不攑ּ了,q且把工E{包出去,他们知道最后可能象{沙子似的把内存站用完,他们才不想遭那䆾|呢Q?

记? 也有一些工h......

Stroustrup: 大多数的防渗漏的工具不还是用C++写的?

记? 果把q些东西发表了,我们可能在这个行业里无法立了,你知道吗Q?
Stroustrup: 我不怿Q就象我所说的Q现在C++已经是在垂死挣扎了。Q何公司只要清醒,׃认识到用C++来做目直是一场灾难。如果还没认识到q些Q那是z该Q有一D|间我使劲的劝Dennis Ritchie用C++重写UNIX?

记? 啊?天哪Q他是怎么说的Q?

Stroustrup: 我不得不承认他的z察力,我想他和Brian在很早的时候就清楚的明白了我的意图Q但是从来没有说出来Q他说如果我愿意的话Q他可以帮我用C++?
个DOS?

记? 那么你写了吗Q?

Stroustrup: 事实上,我写了,我完成后可以l你一个DEMOQ我在机戉K的一?个CPU的Sparc 20上做的,q行得特别的快,而且只占?0M的硬盘空间?

记? 有For PC的版本吗Q?

Stroustrup: 现在你在开玩笑了,N你没见过Windows 95吗?我认为它是我成功标志之一Q?

记? 我也L在想关于Unix++Q还是有人在试着搞这么个东西的?

Stroustrup: 那是因ؓ他们q没有看到这个采访手qV?

记? 对不P不过依我看,我们恐怕不会刊发这些东西的?

Stroustrup: 但是q是个世U故事,我只是想让我的程序员伙伴们记住我Z们做了什么,你知道这些个日子里C++E序员可以挣多少钱吗Q?

记? 我所听说的是一个顶的C++E序员一时可以挣到70?0圆?
Stroustrup: 知道了吧Q而且我打赌他肯定可以挣那么多Q!单步跟踪我放在C++里面的那些gotchaQƈ不是Ҏ的事了。在在项目中使用C++的所有特性即使是有经验的E序员也会感到困? 事实上有时侯我也是觉得挺隑֏的,虽然q个Ҏ是为我的初衯做的,我几乎喜Ƣ上了这个语a?
记? 你的意思是说你以前是不喜欢的?

Stroustrup: 我是狠它的!N你不同意它是挺笨重的吗?但是当那本书的版E源源不断的...... 我想你能够明白这些?

记? {一下,关于参数的定义,h一定要回答Q您是否真的改良了C的指针?
Stroustrup: 呵,我也是L想知道这个。一开始我认ؓ我做了,但是有一天我和一个刚开始学?C++的程序员讨论了这个问题。他_"他从来就不知道他的变量是否被引用了,所以我q是在用指针,那个星号L在提醒我?
记? OKQ一般在q个时候我一般是_"Thank you very much."Q但是现在用在这里好象还是不够?

Stroustrup: {应我一定要发表?

记? 好的Q我会通知您的Q但是我已经知道了我的编辑会说什么了?

Stroustrup: 谁会怿呢?你能把这盘录韛_l我拷一个吗Q?

记? 可以?
正文?

Randy 2009-11-01 14:08 发表评论
]]>
Google单元试框架(?http://www.shnenglu.com/Randy/archive/2009/06/02/86520.htmlRandyRandyTue, 02 Jun 2009 03:19:00 GMThttp://www.shnenglu.com/Randy/archive/2009/06/02/86520.htmlhttp://www.shnenglu.com/Randy/comments/86520.htmlhttp://www.shnenglu.com/Randy/archive/2009/06/02/86520.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/86520.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/86520.html阅读全文

Randy 2009-06-02 11:19 发表评论
]]>
C++界面?- Xtreme Toolkit Pro[转蝲]http://www.shnenglu.com/Randy/archive/2009/05/18/83310.htmlRandyRandyMon, 18 May 2009 10:55:00 GMThttp://www.shnenglu.com/Randy/archive/2009/05/18/83310.htmlhttp://www.shnenglu.com/Randy/comments/83310.htmlhttp://www.shnenglu.com/Randy/archive/2009/05/18/83310.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/83310.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/83310.htmlC++界面?- Xtreme Toolkit Pro[转蝲]
原文转自Q?a >http://blog.csdn.net/vbvan/archive/2007/11/23/1899282.aspx

一套扩展MFC的界面库Q可以很方便的实现各U界面风根{不q话说VC2008的MFC卛_集成它竞争对手的产品BCGControlQ呵?/p>

官方|站Q?a >http://www.codejock.com/products/toolkitpro

最新的11.20版本已经支持VC2008了,所以编译没有太大的问题。要注意的一ҎQ源文g的注释有一些非GBK字符Q编译的时候命令行里最好加?wd4819

使用的时候,只需要在StdAfx.h中加入下面的语句卛_

#include <XTToolkitPro.h>

如果你选择static linkQ那么可以用宏把不需要的部分排除掉,q样能减最l生成的EXE的大?/p>

//#define _XTP_EXCLUDE_COMMON
#define _XTP_EXCLUDE_TABMANAGER
#define _XTP_EXCLUDE_GRAPHICLIBRARY
//#define _XTP_EXCLUDE_CONTROLS
//#define _XTP_EXCLUDE_COMMANDBARS
//#define _XTP_EXCLUDE_DOCKINGPANE
//#define _XTP_EXCLUDE_PROPERTYGRID
#define _XTP_EXCLUDE_REPORTCONTROL
#define _XTP_EXCLUDE_CALENDAR
#define _XTP_EXCLUDE_TASKPANEL
#define _XTP_EXCLUDE_SHORTCUTBAR
#define _XTP_EXCLUDE_SKINFRAMEWORK
#define _XTP_EXCLUDE_RIBBON
#define _XTP_EXCLUDE_SYNTAXEDIT

另外值得注意的一ҎQ如果你选择static linkQ那么需要将XTP的资源导入你的工E之中。比如要使用中文资源Q那么把下面的代码加入工E的rc2文g的最?/p>

#define _XTP_RESOURCE_LANGUAGE zh_CN
#include <XTToolkitPro.rc>

同时Q你q需要修改一下XTP附带的XTToolkitPro.rc中的内容
最后的LANGUAGE_DEFAULT(TaskPanel)ҎLANGUAGE_LOCALIZED(TaskPanel)
然后在TaskPanel\res目录下将Resource.rc复制成Resource_zh_CN.rcQƈ其中的~码Ҏ中文

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
#endif

否则你之后include的资源会变成默认的英?/p>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
产品介绍Q?a >http://blog.csdn.net/componentcn/archive/2007/04/19/1570086.aspx



Randy 2009-05-18 18:55 发表评论
]]>
关于设计http://www.shnenglu.com/Randy/archive/2009/05/04/81876.htmlRandyRandyMon, 04 May 2009 12:38:00 GMThttp://www.shnenglu.com/Randy/archive/2009/05/04/81876.htmlhttp://www.shnenglu.com/Randy/comments/81876.htmlhttp://www.shnenglu.com/Randy/archive/2009/05/04/81876.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/81876.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/81876.html 

关于设计

设计是一Ҏ需求{换ؓ~码Ҏ的活动。设计在软g开发中是必定存在的Q无ZU情况下Q我们都需要把需求{化ؓ~码Ҏ?br style="LINE-HEIGHT: 1.4em">设计是一个不断完善的q程Q设计的~陷可能在设计之初无法被发现Q直到设计完成时才被察觉刎ͼq导致了再次设计的需要。注意,我们在首ơ设计时应该可能的避免~陷的出玎ͼ而不是视而不见以求下ơ解冟?br style="LINE-HEIGHT: 1.4em">设计上的付出是必要的Q在设计阶段发现错误q改正比~码后发现相同错误ƈҎ的代价低的多Q如果设计的错误拖g到维护阶D,那就更加不堪设想?br style="LINE-HEIGHT: 1.4em">设计存在优劣Q必L这一炏V敷衍的q行设计后果是很严重的(虽然偶尔也能更加快速的产生产品Q,p糕设计的最大特Ҏ无法响应需求变更。但也应该注意,优秀的设计有多种Q糟p的设计也有多种?br style="LINE-HEIGHT: 1.4em"> 
事物的本质属性是一件事物必d有的Q如果不h则就不在是该事物。事物的偶然属性是不v解决性作用的属性。例如,车L轮子Q没有了轮子׃在是车,那么轮子是本质属性,但是轮子可能?4 个,也可能有 3 个,无论多少个轮子依然是车,那轮子的数目是偶然属性?br style="LINE-HEIGHT: 1.4em">本质复杂度源于需求,无论采取何种手段Q何U技术都不会Ҏ质复杂度造成M影响Q所以有人才会说QY件开发本w就很复杂(无论使用何种技术开发都是复杂的Q。我们需要管理好偶然复杂度(偶然性的复杂度)Q例如,需求是开发一个可用的计算器程序(囑Ş界面可有可无Q,q时Q开发命令行的计器比开?GUI 的计器的偶然复杂度,?C++ q行开发其偶然复杂度就比用 Dephi 高。敏捷开发和 Unix 中都 KISSQ而敏捷开发更加强调应该用简单的技术和工具Q这都是Z避免偶然复杂度过高带来额外的成本开销?/p>

设计者应该真正理解偶然复杂度Q如果设计出来的框架Q在q行开发时需要开发h员关注于pȝ的每个细节,那么对于E序员来说偶然复杂度是高的,相比下,对于每个功能的开发,E序员只需要关心当前编写的dQ那么偶然复杂度是低的(COM 的设计非常强调的一Ҏ装Q而不是复用)?/p>

 

设计的基本的原则Q?/p>

1Q尽量降低偶然复杂度。如果可以简单的解决问题Q那Z么不q么做了Q另外某些角度来_

模块化的pȝQ系l对“模块”一词有切的定义)Q在一定程度上偶然复杂度较低,模块化的pȝ让程序员只需要关心当前开发的部分?/p>

2Q尽量保持高内聚Q低耦合。高耦合的系l惧怕变动(动一处而牵动全w)Q变动带来的问题通过兌q行传递。高耦合的系l的关键点在于:pȝl成部分的关联过多,Dq多的相互媄响,当关联数量到一定程度,整个pȝ׃很不E_?/p>

具体来说Q?/p>

<1> 集成的困难:高耦合的各个程序组成部分需要花费较多时间进行集成?/p>

<2> 试的困难:一个部分的问题通过与其他部分关联传递到其他部分Q那么意味着一个部分的变动可能D整个pȝ的重新测试?/p>

低耦合Q在c这个层ơ上来说Q除了底层的工具c(例如 STLQ之外(工具cd许和pȝ中的大部分类发生兌Q,应该可能的减少cM间的兌?/p>

3Q可扩展。可扩展的一个标志是Q无需改变pȝ底层Q即可增加新的功能?/p>

4Q可UL性。可UL性非常特别(gq背低偶然复杂度原则Q,它不同于软g的其他的Ҏ,除非你保证你的项目永q无需UL到其他的环境中去Q否则,你应该注意这点,因ؓ通常来说Q时间越长,难ULQ甚x后只能重写,代h非常之高?/p>

5Q分层。分层的pȝ相对来说偶然复杂度较低,兌较少。每层都有每层的工作Q相互媄响较?/p>

 

另外Q类的粒度也比较重要Q大_度的类间关联少Q但是不可避免的是c自w过于复杂。小_度的类自n很简单,易于开发和l护Q但是类间关联变多,通讯太频J。粒度过大和q小都会带来较多的问题,应该Ҏl验作合理设计?/p>

?C++ 中用巨大的cL异于使用 C 语言q行~程Q这意味着你抛弃了 C++ 强大的抽象能力。含有巨cȝpȝ中的一个显著的标志是:含有大量重复代码或者相g码(q归l于 C 语言不够强大的抽象能力和目在时间上的压力)

 

最后要说的一句是QKISS 和敏L太多Z误解Q请仔细斟酌它们的含义(有几个h懂得 KISS 的真正含义)。设计是不可避免的,好的设计是至关重要的。好的设计在一定程度上控制了Y件的成本Q即使你的老板q不明白Q但是你应该q么做?/p>

 

author: killercat



Randy 2009-05-04 20:38 发表评论
]]>
22条商?- 艾﹒里斯和杰克﹒特劳?/title><link>http://www.shnenglu.com/Randy/archive/2009/05/03/81777.html</link><dc:creator>Randy</dc:creator><author>Randy</author><pubDate>Sun, 03 May 2009 09:57:00 GMT</pubDate><guid>http://www.shnenglu.com/Randy/archive/2009/05/03/81777.html</guid><wfw:comment>http://www.shnenglu.com/Randy/comments/81777.html</wfw:comment><comments>http://www.shnenglu.com/Randy/archive/2009/05/03/81777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Randy/comments/commentRss/81777.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Randy/services/trackbacks/81777.html</trackback:ping><description><![CDATA[<p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>01领先定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>成ؓW一胜过做得更好</strong></p> <p style="TEXT-INDENT: 2em">在中国市ZQ茅台是W一U高档白酒;中华是第一U高档香烟;健力宝是W一U运动饮料;三枪是第一个内衣品牌;脉动是第一U维生素_康师傅是W一U高档方侉K和瓶装绿Ӟ金龙鱼是W一个调和a品牌Q东方红是第一个拖拉机品牌。今天,除健力宝因企业内部原因导致品牌衰落外Q极大多数品牌都仍然占据各自领域的第一位置?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>02品类定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>如果你无法在现有品类中成为第一Q那么就创造一个新的品cM自己成ؓW一?/strong></p> <p style="TEXT-INDENT: 2em">中国汁饮料市场的例子很好的说明了这一定律Q汇源成为高度果汁的第一品牌之后Q鲜多开创了低浓度果汁品c,q成品类W一Q酷儿开创了儿童低浓度果汁品c;汁源则开创了果肉果汁Q果_橙Q品c,成ؓ该品cȝ一。这些品牌都因开创了一个新品类而获得成功?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>03心智定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>在心Z成ؓW一胜过在市Z成ؓW一?/strong></p> <p style="TEXT-INDENT: 2em">喜之郎ƈ非国内第一个果d牌。在喜之郎之前,金娃{品牌已l率先进入市场,但从全国来看Q顾客心Zq没有一个公认的果冻品牌Q也是_首先q入市场的果d牌ƈ未进入顾客心智。于是喜之郎依靠H出的Ş象,q率先在CCTV{大众媒体上q行q告宣传Q成功抢先占据心智,从而收获了果冻市场50%以上的䆾额?/p> <p style="TEXT-INDENT: 2em">后来Q喜之郎公司又故伎重演,推出了美好时光v苔,试图通过大众媒体抢占方便品类Q不同的是,方便品类中已l有波力{品牌先入ؓ主,因此好时光投放了大量广告也没有取得预期效果?/p> <p style="TEXT-INDENT: 2em">2003q年初,长富出现在央视黄金时D,正式吹响了进军全国的可?/p> <p style="TEXT-INDENT: 2em">长富宣称其牛?#8220;l色天然”Q是“真正滑香浓的好?#8221;。ؓ了证明其“高品质奶?#8221;Q长富召开新闻发布会,展示其地处福建武夷山区据U是中国最大最好的奶源基地。后来,长富更是不惜血本,在广东展开“?4?5”的促销zdQ尽长富投入了9200万元的广告费Q但市场q不为其所动,全国乳业市场的格局q没有因为长富的加入而被打破Q甚臌长富最为看重、投入最多的q东市场Q也没有实现其市场占有率10%的目标?/p> <p style="TEXT-INDENT: 2em">拥有一品以及广告投入巨大的长富Z么会折戟沉沙呢?</p> <p style="TEXT-INDENT: 2em">原来Q在消费者的心智中,“最好的奶源来自内蒙古大草原而不是武夷山”。之一观念早就随着“天苍苍,野茫茫,风吹草低见牛?#8221;的诗句深入h心。加之蒙牛、伊利此前早在合力宣扬“内蒙古牛奶好”。所以,管长富?#8220;如今的内蒙古大草原水土流׃重,日益风蚀沙化Q而武夷山处于北纬27度,有中?#8216;x’之称”Q但毕竟势单力薄Q无法改变消费者心目中“最好的奶源来自内蒙?#8221;q一认知?/p> <p style="TEXT-INDENT: 2em">l一与康师傅在中国大陆市场竞争的实质是一场先入ؓȝ战争Q康师傅q入大陆市场之前在台N默无闻,l一则是台湾食品饮料领域的领D,康师傅率先进入大陆市场推Z中高档方侉KQ统一随后q入Q但康师傅已l先入ؓ主,因此在大陆市ZQ实力更强大的统一在方侉K领域一直落后于康师傅。之后,康师傅又抢先推出瓶装l茶、冰U茶{品,q些产品的市Z额都无一例外的领先于l一。统一唯一的翻w机会在于率先推Z低浓度果?#8220;鲜橙?#8221;Q后来,康师傅跟q推Z度果汁品牌“鲜的每日C”Q其销量当然是q远落后?#8220;鲜橙?#8221;?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>04认知定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>市场营销不是一Z品之战,而是一知之战?/strong></p> <p style="TEXT-INDENT: 2em">历史d不断的重演,可口可乐和百事可乐所做的实验Q中国的非常可乐也做q,非常可乐也曾l宣Uͼl过上千ơ配Ҏq,试证明非常可乐更适合中国人的口味。遗憄是,非常可乐更好的口x法阻挡可口可乐和百事可乐在中国市场取得成功?/p> <p style="TEXT-INDENT: 2em">张裕q红葡萄酒在国内大部分地Z“癑ֹ张裕”的历史资源来向h们推q?#8220;国高档葡萄?#8221;的认知,但在q东地区Q张裕品牌却更多C表低端白兰地。原因在于,张裕低端白兰地在该地区有较长的销售历双Ӏ极高的知名度和占有率。这U强烈的认知也媄响到张裕的高端干U在该区域难以打开局面?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>05聚焦定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>市场营销最重要的是在潜在顾客心Z占据一个字眹{?/strong></p> <p style="TEXT-INDENT: 2em">在美国市场,x士以聚焦“防蛀”概念而成为第一Q但在进入中国市Z初,x士因担心“防蛀”市场有限Q{而宣传口气清新、美白等概念Q被一直处于第二的老对手高露洁抓住ZQ抢先聚焦于“防蛀”概念。等x士重新聚焦于“防蛀”之时Q高露洁已经先入ZQ成?#8220;防蛀”牙膏的代名词Qƈ一直领先于Ҏ?/p> <p style="TEXT-INDENT: 2em">在中国市场的研究表明Q大部分购买高露z的֮Q真正的目的qZ“防止蛀?#8221;Q而是高露z专注于“防止蛀?#8221;而徏立v的专家Ş象,让顾客认个品牌的牙膏更先q、更U学、更能保护牙ѝ这是“光环效应”的体现?/p> <p style="TEXT-INDENT: 2em">曄被誉?#8220;中国水”的健力宝Q错q了“聚焦定律”的机会,它当时有条g聚焦?#8220;q动饮料”的概念,舍弃各种汽水、果汁、水、茶{品,通过极力推广q动饮料而品类做大做强。随着Z生活水^的提高,对运动的投入E度也越高,q动饮料的前景本来一片光明,可惜健力宝企业却推出了定位不明的新品?#8220;W五?#8221;Q还分兵q入酒业Q离正道来远?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>06专有定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>两个公司不可能在潜在֮心智中拥有同一个字眹{?/strong></p> <p style="TEXT-INDENT: 2em">金龙鱼因开创了调和油品c而成为国内食用a的领导品牌,因此金龙鱼成?#8220;调和?#8221;的代名词。但随着市场的发展,新的单一油种不断兴vQ金龙鱼品牌开始推生a、葵q沏V菜ca、玉cxa{多个品cR但在这些品cMQ鲁花已l代表花生a、多力已l代表葵q油,金龙鱼无法将已经被这些品牌在֮心智中注册的字眼和概念占为己有,q面?#8220;调和?#8221;的认知被E释,最后为؜沌品牌的危险?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>07阶梯定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>市场营销战略取决于你在潜在顾客心智阶梯中的层U?/strong></p> <p style="TEXT-INDENT: 2em">阶梯定律背后蕴涵的营销真谛是:在营销中,心智军_市场Q品牌的心智C军_市场CQ心Z额决定市Z额;蒙牛品牌创立之初Q面对强大的伊利Qƈ未采用正面进ȝ方式与之竞争Q而是打出“创内蒙^业第二品?#8221;的口P在顾客心Z与内蒙古W一品牌伊利直接产生兌Q达Cq速有力地提升了蒙牛品牌的心智C的功效。同时蒙牛很默契C伊利共同推广“草原?#8221;的概念,推动了自w品牌的高速增ѝ?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>08二元定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>长远来看QQ何一个市场都会演化成“两匹马赛?#8221;的局面?/strong></p> <p style="TEXT-INDENT: 2em">行业巨头的二元化局面在中国企业中已l初步显玎ͼ茉料领域是康师傅和l一Q高档白酒领域是茅台和五_液Q^业市场是伊利和蒙牛;内衣市场是三枪和宜而爽Q?#8230;…可以预见Q随着竞争的加剧,其是中国加入WTO以后Q竞争壁垒逐渐打破Q二元定律在各个领域开始显现出威力Q?#8220;两匹马竞?#8221;的局面将q泛存在于各个行业中?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>09对立定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>若想成ؓ市场W二Q那么你的战略应q一军_?/strong></p> <p style="TEXT-INDENT: 2em">“鲜橙?#8221;在低度果汁市场上取得成功之后,汇源、哇哈哈、康师傅UL跪进退出相应的模仿产品Q但真正成ؓ低浓度果汁领域中W二的品牌ƈ非以上跟q者,而是遵@了对立定律的“酷儿”。与“鲜橙?#8221;面向大众不同Q?#8220;酷儿”顾客群定义?#8220;儿童”Qƈ在配方中加入“?#8221;Q从而成为儿童首选的低浓度果汁?/p> <p style="TEXT-INDENT: 2em">q州报业市场上,《广州日报》依靠开国内市民报之先河获得q速发展,成ؓ国内q告收入W一的报U。面对强大的《广州日报》和老牌的《羊城晚报》,《南斚w市报》在面市之初采取了对立面战略Q针《广州日报》的大版面、权威、稳重的特点Q《南斚w市报》采用小版面H出新锐、时、从而获得了q轻白领的青睐,一举成为广州第二大报?/p> <p style="TEXT-INDENT: 2em">最q三q里QQQ成ؓ奇瑞汽R最为畅销的R型,q一举超奥托成为小型经型轿R的代表。QQ用时、活力、现代的品牌概念一丑ְ奥托定义成老旧、过时、缺乏活力。QQ成功的关键在于成为原先领D奥托的对立面?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>10分化定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>长期来看Q每个品c都分化成两个或更多品cR?/strong></p> <p style="TEXT-INDENT: 2em">微Y?C计划上浪费了数十亿美金,没有Ml果。在中国Q?C融合一直被家电企业当做必然的趋势,TCL是一个典型。从20世纪90q代中期开始,TCL?C计划投入了巨资,qؓ此挖来了?#8220;打工皇帝”之称的微软前中国区总裁吴士宏,最l却以信息家电失败、吴黯然辞职而收场?/p> <p style="TEXT-INDENT: 2em">分化在各个品cM时有发生Q以啤酒行业ZQ最初是普通啤酒,后来分化出E啤、清啤、纯生、无醇、黑啤等很多个品c;再如瓶装茉料,最初是l茶Q后来分化出冰红茶、冰l茶、红茶、乌龙茶、茉莉花Ӟ电视机分化ؓQCTR、液晶、等d{品c,甚至I也分化ؓ中央I和家用空调,家用I则进一步分化ؓ卧室I和客厅空调等U类?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>11长效定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>市场营销的改革需要从长期来看?/strong></p> <p style="TEXT-INDENT: 2em">诠释长效定律最好的反面例子莫过于春兰空调?994q春兰空调销售额?3亿,居国内第一Q?995q春兰确定了2000q销售额辑ֈ180亿的目标Qؓ了达到该目标Q春兰进入了彩电、冰、洗衣机、摩托R、卡车等领域Q销售额实现快速增ѝ到?000q_春兰I销售额辑ֈ185亿,但利润开始下滑。到?005q_春兰多元化的恶果开始显玎ͼ持箋出现亏损Q最l被q退市?/p> <p style="TEXT-INDENT: 2em">在中国白酒行业里Q大量的投入和促销q没有徏立v新的强势品牌Q而高额的促销、返利、终端费用拖垮了来多的企业,行业的领先品牌依旧是几乎从不做促销的茅台、五_液、剑南春?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>12延定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>产品多Q市大,늺长Q赚的钱反而越?/strong></p> <p style="TEXT-INDENT: 2em">娃哈哈品牌从AD钙奶延到瓶装水、果汁、绿茶、方侉K、牛奶、童装等领域Qƈ在短期内实现了销量的增长。哇哈哈的品牌g怸度被国内部分营销人士UCؓ品牌延的的典范Qƈ以此为据反驳定位理论。但实际上,娃哈哈的品牌延׽E释了Z对该品牌的认知,娃哈哈在延领域几乎没有一个处?#8220;CC”的位|,利润也大q下滑,q也成ؓ其被q与达能合资的主要原因?/p> <p style="TEXT-INDENT: 2em">国内许多企业均成长于需求高涨的Ҏ时期Q凭借制造能力和渠道能力Q很Ҏ涉多品领域,现在比较成功的企业几乎都是一个品牌横跨多个行业,造成了品牌g伸容易做大做好的错觉。随着各行业竞争增强,企业要普遍承?#8220;延定律”带来的压力。看看中国最优秀的一些企业,像v、康佟뀁娃哈哈、春兎ͼ都在q行品牌延Q这U情形着实堪忧。虽然它们目前仍?#8220;成功”Q但像一架不W合力学原理的飞ZP飞得高让人担心?/p> <p style="TEXT-INDENT: 2em">在汽车领域,东风也徏造了一巨大的帐篷Q东风曾l代表卡车,如今东风品牌不仅代表重卡、中卡、轻卡、小卡、面包R、客车,q代表法国车(东风标志Q、日本车(东风日Q、韩国车(东风悦达·起亚Q、国产MPVQ东风风行)Q这是东风品牌最致命的营销问题。重卡和d分别被专家品牌占据了两个品类的主g|,东风处境尬?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>13牺牲定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>你如果想取得成功Q就必须牺牲一些东ѝ?/strong></p> <p style="TEXT-INDENT: 2em">中国传统的老八大名酒中Q茅台、五_液、剑南春三个品牌发展成了全国性的领导品牌Qƈ占据了行业的前三名,其余N、古井A{五个品牌则发展成了区域性品牌,在同一赯U上的品牌ؓ何有不同的结果呢Q进一步对比就可以发现Q三个全国性品牌共同的特征是聚焦于一个档ơ——很短的产品U;五个区域性品牌的共同特点则恰恰相反,全都有多如牛毛的产品Q品覆盖高中低档。以NZQ汾酒的产品多达800多个Q其营销负责声称“q远不够Q还无法满需?#8221;?/p> <p style="TEXT-INDENT: 2em">U河L厂依靠聚焦于一个品牌——红治I同时U河品牌聚焦?-10元之间的中低档香烟市场,从而获得了巨大的成功,U河品牌很快成ؓ国内香烟销量最大的三大品牌之一。其后,U河不再满于低端市场,他先后推Zh过70元的U河V8、ƈ?0元以上市场先后推ZU河88、红河V6{品,q些产品无一例外Cp|而告l,同时也ɾU河丧失了成?#8220;中国万宝?#8221;的绝好机会?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>14Ҏ定?/font></p> <p style="TEXT-INDENT: 2em" align=center><strong>惌成功Q就必须有自q特的认知或特性,q以此ؓ中心展开营销?/strong></p> <p style="TEXT-INDENT: 2em">王老吉凉茶?#8220;预防上火”的特性获得成功之后,国内饮料企业UL推出各种凉茶品牌。虽然表面看来这些品牌都?#8220;卖点”Q如Q?#8220;老翁”宣传?#8220;台湾凉茶”概念Q?#8220;邓?#8221;则先后宣?#8220;中国凉茶?#8221;?#8220;时尚凉茶”Q?#8220;何其?#8221;宣传“清火气、养元气”{,实际上这些品牌都未能聚焦有效Ҏ,更未能从王老吉的对立面发掘出针Ҏ这一特征Q从而也未能成ؓ凉茶领域?#8220;百事可乐”?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>15坦诚定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>使自׃品深入h心的最有效Ҏ是,首先承认自己的不I之后再将其{变ؓ优势?/strong></p> <p style="TEXT-INDENT: 2em">在营销中?#8220;坦诚”定律需要极大的勇气Q中国企业在此方面的实践案例较少。当企业面危机的时候,坦诚往往是必ȝ。三聚氰胺的危机使三鹿这个国内奶_领域的领导品牌在一夜之间化Z有,甚至影响C整个乛_行业Q如果在危机到来的第一旉三鹿惛_了坦诚定律ƈ付诸行动Q及时向大众承认问题Qƈ召回产品Q承担责ȝ话,三鹿本可以避免这场灭之灾?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>16唯一定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>大多数情况下Q你的竞争对手只有一个容易攻破的薄弱环节Q正是这个环节,应该成ؓ你全力攻ȝ焦点?/strong></p> <p style="TEXT-INDENT: 2em">可口可乐在中国瓶装茶市场上进行过六次试Q先后推“天与?#8221;茉料、蓝枫日式蜂蜜绿茶、阳光冰爽果茶、雀?#8220;西式冰爽?#8221;、茶研工?#8220;草本茉?#8221;Q都以失败而告l,最q推出的“原叶”pd虽耗资巨大Q但也前景黯淡。可口可乐要在茶饮料上有所作ؓQ就必须扑ֈ竞争Ҏ最易攻破的薄弱环节Q否则一切都徒x功?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>17莫测定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>除非是你为竞争对手制定计划,否则你无法预未?/strong></p> <p style="TEXT-INDENT: 2em">在竞争最为激烈的家电行业Q对未来的预和判断直接影响C国品牌的整体表现?0q代Q中国企业逐步掌握CRT彩电的核心技术,在中国CRT电视机市ZQ中国彩电企业更曑֍?8%以上的䆾额,索尼、东芝等品牌的CRT产品一度撤Z国。但中国彩电企业都未能预料到CRT迅速衰退Q液晶显C很快成为市Z?005q开始,索尼、夏普、LG\三星{日韩彩电企业凭借液晶^板品卷土重来,q速占领了中国内地一二线城市市场Q中国家电品牌鲜有液晉板生产能力,被迫集体退守三四市场?/p> <p style="TEXT-INDENT: 2em">即在新技术的发展方向Q彩电企业一度普遍认为等d大屏q彩电将成ؓ市场LQ于是松下、富士通、NEC以及中国的长虹等大批企业则押宝等d技术,夏普、三星等企业则大力投入研发液晶^板计数。如今,市场证明最初不被看好的液晶昄屏成ZL?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>18成功定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>成功l常D自大Q而自大导致失败?/strong></p> <p style="TEXT-INDENT: 2em">企业因专注、聚焦而成功,一旦成功就感觉无所不能Q摈弃最初的成功l验。从某种E度上讲Q大部分国内知名企业都经历了盲目扩张、多元发展然后陷入困境这一几乎必然的过E。从联想、v、TCL、长虏V奇瑞等各个企业w上都可以看?#8220;成功定律”的媄子。打?#8220;成功定律”的宿命或许是中国企业面的最大挑战?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>19p|定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>面对p|Q更佳的战略是尽早发现错误ƈ及时采取措施以停止损失?/strong></p> <p style="TEXT-INDENT: 2em">如果p|无可避免Q那么及时撤退可以起到亡羊补牢的效果。联惛_售手Z务、创l以2元的低h出售手机业务都属于此cMD措。所以,无论是联惌是创l_消息宣布之后Q股市都以大q反弹作为回应,证明及时攑ּ属于重大利好已是p?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>20炒作定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>实际情况往往与媒体宣传的相反</strong></p> <p style="TEXT-INDENT: 2em">CCTV黄金旉q告招标的首届标王秦池可谓阐?#8220;炒作定律”的最x例,借助大规模的q告投放以及“标王”效应带来的大量媒体报道,在较短时间内Q秦池的知名度和x度空前提升,q同时也为后来负面新ȝ产生及迅速扩散篏U了巨大的势能,最l导致了无可挽回的结果?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>21势定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>通过淡化时尚Q就能产品行的时间g长,从而它更像是一U趋ѝ?/strong></p> <p style="TEXT-INDENT: 2em">与趋势定律相悖,很多企业q逐的恰恰是成为时与潮流。健力宝推出?#8220;W五?#8221;饮料正是希望通过时尚和潮来推动品牌的成长,该品牌涵盖了可乐、茶饮料、纯净水、果汁等品类Q口号ؓ“现在行W五?#8221;。在一阵风潮之后,W五季几乎一无所剩?/p> <p style="TEXT-INDENT: 2em" align=center><font color=#0000ff>22资源定律</font></p> <p style="TEXT-INDENT: 2em" align=center><strong>q是世界上最好的xQ如果没有启动资金,它也不会成ؓ现实?/strong></p> <p style="TEXT-INDENT: 2em">如何使市场第一成ؓ心智W一Q充分的资源是必ȝQ国内企业界传?#8220;万燕悖论”Q先p往往成ؓ先烈Q从某种意义上正是说明了资源的重要性。万燕发明了VCDQ但是爱多和步步高却通过大规模的q告传播率先抢先占据了顾客心智,最l,万燕只能以失败收场。因此,对于创业家而言Q找到好的战略与扑ֈ_的钱同样重要?/p> <p style="TEXT-INDENT: 2em">营销领域的黄埔军校,国内z化领域的领D宝z公司深谙资源法则的重要性,保洁一直是国内最大的q告主,每年有多?6个亿以上的广告预,每一个新产品的推出都有庞大的预算提供有力的支持?/p> <img src ="http://www.shnenglu.com/Randy/aggbug/81777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Randy/" target="_blank">Randy</a> 2009-05-03 17:57 <a href="http://www.shnenglu.com/Randy/archive/2009/05/03/81777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++ 枚Dcd的思?/title><link>http://www.shnenglu.com/Randy/archive/2009/03/23/77612.html</link><dc:creator>Randy</dc:creator><author>Randy</author><pubDate>Mon, 23 Mar 2009 10:16:00 GMT</pubDate><guid>http://www.shnenglu.com/Randy/archive/2009/03/23/77612.html</guid><wfw:comment>http://www.shnenglu.com/Randy/comments/77612.html</wfw:comment><comments>http://www.shnenglu.com/Randy/archive/2009/03/23/77612.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.shnenglu.com/Randy/comments/commentRss/77612.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Randy/services/trackbacks/77612.html</trackback:ping><description><![CDATA[<p>至从C语言开始enumcdp作ؓ用户自定义分cL限集合常量的Ҏ被引入到了语a当中Q而且一度成为C++中定义编译期帔R的唯一ҎQ后来在cM引入了静态整型常量)?br>Ҏ上面对enumcd的描qͼ有以下几个问题:<br>1.到底enum所定义出来的类型是一个什么样的类型呢Q?br>2.作ؓ一个用戯定义的类型其所占用的内存空间是多少呢?<br>3.使用enumcd是否真的能够起到有限集合帔R的边界约束呢Q?br>4.大家可能都知道enumcd和intcdh隐示Q自动)转换的规则,那么是否真的在Q何地斚w可以使用enumcd的变量来代替intcd的变量呢Q?/p> <p> 1. 到底enum所定义出来的类型是一个什么样的类型呢Q?br> 在C++中大安知道仅仅有两U大的类型分c:PODcdQ注Q?Q)和类cd?br> enum所定义的类型其实属于PODcdQ也是说它会参与到PODcd的隐C{换规则当中去Q所以才会出现enumcd与intcd之间的隐C{换现象?br> 那么也就是说enum所定义的类型不具备名字I间限定能力Q因Z属于cȝ型)Q其所定义的常量子具备和enumcd所在名字空间相同的可见性,׃自n没有名字限定能力Q所以会出现名字冲突现象?br> 如:<br>           struct CEType<br>           {<br>               enum EType1 { e1, e2 };<br>               enum EType2 { e1, e2 };<br>           };<br>       上面的例子会出现e1、e2名字冲突~译旉误,原因在于枚丑֭Qe1、e2Q是CEType名字I间中的名字Q同样在引用该CEType中的枚D子时必须采用CEType::e1q样的方式进行,而不是CEType::EType1::e1来进行引用?/p> <p>    注(1QPODcdQ?br> 你可以将 POD cd看作是一U来自外太空的用l色保护层包装的数据cdQPOD 意ؓ“Plain Old Data”Q译者:如果一定要译成中文Q那叫“dd的老数?#8221;怎么PQ这是 POD cd的含义?br> 其确切定义相当粗p(参见 C++ ISO 标准Q,其基本意思是 POD cd包含?C 兼容的原始数据?br> 例如Q结构和整型?POD cdQ但带有构造函数或虚拟函数的类则不是?<br> POD cd没有虚拟函数Q基c,用户定义的构造函敎ͼ拯构造,赋值操作符或析构函数?br>   Z?POD cd概念化,你可以通过拯其比Ҏ拯它们。此外, POD cd可以是非初始化的?/p> <p> 2. 作ؓ一个用戯定义的类型其所占用的内存空间是多少呢?<br>       该问题就是sizeof( EType1 ){于多少的问题,是不是每一个用戯定义的枚丄型都h相同的尺寸呢Q?br> 在大多数?2位编译器下(如:VC++、gcc{)一个枚丄型的寸其实是一个sizeof( int )的大,N枚Dcd的尺寸真的就应该是intcd的尺寸吗Q?br> 其实不是q样的,在C++标准文档QISO14882Q中q没有这h定义Q?<br> 标准中是q样说明的:“枚Dcd的尺寸是以能够容Ux大枚丑֭的值的整数的尺?#8221;Q?br> 同时标准中也说名了:“枚Dcd中的枚D子的值必要能够用一个intcd表述”Q?<br> 也就是说Q枚丄型的寸不能够超qintcd的尺寸,但是是不是必dintcdh相同的尺寸呢Q?br> 上面的标准已l说得很清楚了,只要能够容纳最大的枚D子的值的整数可以了Q那么就是说可以是char、short和int?br> 例如Q?br>           enum EType1 { e1 = CHAR_MAX };<br>           enum EType2 { e2 = SHRT_MAX };<br>           enum EType3 { e3 = INT_MAX  };<br>       上面的三个枚丄型分别可以用char、short、int的内存空间进行表C,也就是:<br>           sizeof( EType1 ) == sizeof( char  );<br>           sizeof( EType2 ) == sizeof( short );<br>           sizeof( EType3 ) == sizeof( int   );<br>       那ؓ什么在32位的~译器下都会上面三个枚丄型的寸~译成intcd的尺寸呢Q?br>       主要是从32位数据内存对其方面的要求q行考虑的,在某些计机g环境下具有对齐的强制性要求(如:sun SPARCQ,<br>       有些则是因ؓ采用一个完整的32位字长CPU处理效率非常高的原因Q如QIA32Q?br>       所以不可以单的假设枚Dcd的尺寸就是intcd的尺寸,说不定会遇到一个编译器Z节约内存而采用上面的处理{略?br>    3. 使用enumcd是否真的能够起到有限集合帔R的边界约束呢Q?br>       首先看一下下面这个例子:<br>           enum EType { e1 = 0, e2 };<br>           void func1( EType e )<br>           {<br>               if ( e == e1 )<br>               {<br>                   // do something<br>               }<br>               // do something because e != e1 must e == e2<br>           }<br>           void func2( EType e )<br>           {<br>               if ( e == e1 )<br>               {<br>                   // do something<br>               }<br>               else if ( e == e2 )<br>               {<br>                   // do something<br>               }<br>           }<br>           <br>           func1( static_cast<EType>( 2  ) );<br>           func2( static_cast<EType>( -1 ) );<br>       上面的代码应该很清楚的说明了q样一U异常的情况了,在用一个操围的整型D用func1函数时会D函数采取不该采取的行为,而第二个函数可能会好一些他仅仅是忽略了出范围的倹{?br>       q就说明枚D所定义的类型ƈ不是一个真正强cd的有限常量集合,q样一U条件下和将上述的两个函数参数声明成为整数类型没有Q何差异。所以以后要注意标准定义中枚丄型的陷阱?br>      Q其实只有类cd才是真正的强cdQ?br>       <br>    4. 是否真的在Q何地斚w可以使用enumcd的变量来代替intcd的变量呢Q?br>       通过上面的讨论,其实枚Dcd的变量和整型变量h了太多的一致性和可互换?那么是不是在每一个可以用intcd的地斚w可以很好的用枚Dcd来替代呢Q?br>       其实也不是这LQ毕竟枚丄型是一个在~译时可区分的类型,<br>       同时W?点的分析枚Dcd不一定和intcdh相同的尺寸,q两个差异就军_了在某些场合是不可以使用枚Dcd来代替intcd的?br>       如:<br>           W一U情况:<br>               enum EType { e1 = 0, e2, e3 };<br>               EType val;<br>               std::cin >> val;<br>           W二U情况:<br>               enum EType { e1 = 0, e2, e3 };<br>               EType val;<br>               std::scanf( "%d", &val );<br>       上面的两U情늜是基本上属于同一U类型的问题Q其实不然。第一U情况会D~译旉误,<br>       会因为std::cin没有定义对应的枚丄型的重蝲>>q算W而出错,q就说明枚Dcd是一U独立和鉴别的类型;<br>       而第二种情况不会有Q何编译时问题Q但是可能会Dscanf函数栈被破坏而得程序运行非法,Z么会q样呢?<br>       上面已经分析q了枚Dcd变量的尺怸一定和intcd相同Q这样一来我们采?d是说将枚Dcd变量val当作4字节的int变量来看待ƈq行参数压栈Q?br>       而在某些~译器下sizeof( val ){于1字节Q这样scanf函数׃val变量地址中的后箋的三字节地址也压入栈中,<br>       q对其进行赋|也许val变量后箋的三个字节的地址没有Ҏ含义可以被改写(比如是字节对齐的I地址I间Q,<br>       可能会认Z不会出现错误Q其实不Ӟ在scanf函数调用l束后会q行栈清理,<br>       q样一来会Dscanf函数清理了过多的地址I间Q从而破坏了外围函数的栈指针的指向,从而必然会DE序q行旉误?/p> <p>׃面的说明枚Dcd有那么多的缺点,那我们怎样才能够有一个类型安全的枚Dcd呢?实际上,在最新的 C++0x 标准草案中有关于枚D作用域问题的提案Q但最l的解决Ҏ会是怎样的就无法未卜先知了,毕竟对于?C++ q样使用q泛的语a来说QQ何特性的增删和修攚w必须十分心谨慎?/p> <p>当然Q我们可以用一些迂回的Ҏ来解册个问题(C++ L能给我们很多惊喜和意外)?/p> <p>例如Q我们可以把枚D值放在一个结构里Qƈ使用q算W重载来D枚D的特性:</p> <p>struct FileAccess {<br>    enum __Enum {<br>        Read = 0x1,<br>        Write = 0x2<br>    };<br>    __Enum _value; // 枚D?/p> <p>    FileAccess(int value = 0) : _value((__Enum)value) {}<br>    FileAccess& operator=(int value) {<br>        this->_value = (__Enum)value;<br>        return *this;<br>    }<br>    operator int() const {<br>        return this->_value;<br>    }<br>};</p> <p>我们现在可以按照希望的方式用这个枚丄型:</p> <p>FileAccess access = FileAccess::Read;</p> <p>q且Q因为我们提供了?int cd的{换运符Q因此在需?int 的地斚w可以使用它,例如 switch 语句Q?/p> <p>switch (access) {<br>    case FileAccess::Read:<br>        break;<br>    case FileAccess::Write:<br>        break;<br>}</p> <p>当然我们不愿意每ơ都手工~写q样的结构。通过使用宏,我们可以很容易做到这一点:</p> <p>#define DECLARE_ENUM(E) \<br>struct E \<br>{ \<br>public: \<br>    E(int value = 0) : _value((__Enum)value) { \<br>    } \<br>    E& operator=(int value) { \<br>        this->_value = (__Enum)value; \<br>        return *this; \<br>    } \<br>    operator int() const { \<br>        return this->_value; \<br>    } \<br>\<br>    enum __Enum {</p> <p>#define END_ENUM() \<br>    }; \<br>\<br>private: \<br>    __Enum _value; \<br>};</p> <p>我们现在可以按如下的方式定义前面的枚举,q且不比直接?enum 复杂多少?/p> <p>DECLARE_ENUM(FileAccess)<br>    Read = 0x1,<br>    Write = 0x2,<br>END_ENUM()</p> <p>DECLARE_ENUM(FileShare)<br>    Read = 0x1,<br>    Write = 0x2,<br>END_ENUM()</p> <img src ="http://www.shnenglu.com/Randy/aggbug/77612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Randy/" target="_blank">Randy</a> 2009-03-23 18:16 <a href="http://www.shnenglu.com/Randy/archive/2009/03/23/77612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于团队决策http://www.shnenglu.com/Randy/archive/2009/03/11/76201.htmlRandyRandyWed, 11 Mar 2009 04:07:00 GMThttp://www.shnenglu.com/Randy/archive/2009/03/11/76201.htmlhttp://www.shnenglu.com/Randy/comments/76201.htmlhttp://www.shnenglu.com/Randy/archive/2009/03/11/76201.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/76201.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/76201.html版权声明Q{载时请以链接Ş式标明文章原始出处和作者信息及本声?/font>
http://spelldev.blogbus.com/logs/11066253.html

关于团队决策

转蝲h明作者和出处Q如有商业用途请联系作者kingcrimson at tom.com 

目前的企业中Q团队决{已l成Z个必不可的环节。团队决{具有以下几个好处:(1)信息量不断扩大,知识随之增长Q?/span>

(2)多种不同的观点在一h出更多火花;

(3)团队成员执行时更愿意接收Q?/span>

(4)众h决策比个人决{更h准确性、权威性、合理性;

(5)大家共同达成l论Q分享和扩散责Q?/span>

q速而有效的做出决策Q是C化企业的一个必备的要求。如何做出合理而有效的决策Q如何统一团队意见Q减分歧,是团队决{中要面临的首要问题?/span>

       在日常工作中Q我们经怼遇到以下情景的问题:会议拖沓冗长Q问题悬而未冻I与会人员各抒pQ大家没_打采,甚至发生口舌之争……像这L问题Q对于企业的工作q度是十分有害的。在通常的工作进度中Q有数量众多的问题需要团队成员达成一个解军_法。如果不能进行有效的团队决策Q将会对整个目造成严重影响?/span>

       例如Q长旉未解决问题,会团队成员的心理生焦虑情l,破坏他们的积极性。团队成员会对工作环境及决策Z生质疑。时间久了,团队的凝聚力会下降,同时工作质量也会急速下降。另一斚wQ迅速的解决问题Q却没有有效的解决问题,也是对团队工作的一个危実뀂比如,团队的意见没有达成一_但决议已l确定。一些团队成员找不到合理的理由来怿q种决策Q他们就会在工作中不能有效的贯彻q个册。团队工作是一发挥每个h的作用的工作方式Q只要一个环节出了差错,可能会D全盘皆负。同Ӟq种工作状态也会媄响到团队配合和整体士气?/span>

       因此Q对团队决策的要求最重要在?#8220;效率”。不仅要做出合理而有效的决策Q还要迅速、敏P减少工作q度的g误?/span>

 

       Z达成此目标,可以参照以下的解x案?/span>

       首先Q在q行团队决策之前Q必d在一个主持hQ或者协调者。他最好不是决{者,q且不带有主观意向。主持h的工作将是团队决{的关键部分Q诏I于整个程。团队决{的工作模式Q和其它工作一P都是按照提出问题、分析问题、解决问题的程q行的。以下便是团队决{的单流E:

 明确问题Q对问题q行评估?/span>

作ؓ发v团队决策的主持hQ在初期准备阶段Q必d明确问题Q对问题q行评估。主持h应该制定出问题的重要{Q以便于采取何种方式来进行团对决{。如果是一个复杂的问题Q需要将问题转化q的问题,以减决{中的复杂度。在q个阶段Q还要收集与问题有关的相兌料,q样可以使决{过E更有据可@Q加快决{流E。MQ准备工作做的越充分Q对于之后的决策程是越有利的?/span>

 制定合理的决{h选?/span>

q个步骤也是非常重要的。对于主持h来说Q他可能不具备制定h选的权力。(q部分一般是显而易见的或者由团队领导来决定)但是L人可以对决策人选进行编排和搭配。一般对于小规模的团队,问题可能不是很大。但是大规模的团队,如果不进行合理的~排Q将会决策q程的变得؜p拖沓。这里,可以采取几个有效的方式来~排决策人员。比如,按职能划分,按个人对于问题的重要E度划分{。常见的做法是,把一个大的团队划分成若干组Q每个小l尽可能达成一致意见,最后再l一达成决策?/span>

 选择合适的决策方式?/span>

一般的决策方式是会议。不是何种cd的会议,都是决策q程中必不可的q程。作Z持hQ需要制定用何种方式来进行会议。以下有一些可以参考的方式Q?/span>

1.         头脑风暴?/span>

头脑风暴法的一般步骤:

(1)所有的人无拘无束提意见Q越多越好,多受Ƣ迎?/span>

(2)通过头脑风暴产生点子Q把它公布出来,供大家参考,让大家受启发?/span>

(3)鼓励l合他h的想法提出新的构惟?/span>

(4)与会者不分职位高低,都是团队成员Q^{议事?/span>

(5)不允许在点子汇集阶段评h某个点子的好坏,也不许反驛_人的意见?/span>

研究表明Q大家在无拘无束、相互激荡的情Ş下汇集的点子往往比一般方法所汇集的点子多70%?/span>

2.         德尔菲法

德尔菲法又叫专家体决策法,是׃专家来达成团队的决{?/span>

(1)德尔菲法的特?/span>

让专家以匿名众的n份参与问题的解决Q有专门的工作小l通过信函的方式进行交,避免大家面对面讨论带来消极的影响?/span>

(2)德尔菲法的一般步?/span>

?/span>由工作小l确定问题的内容Qƈ设计一pd征询解决问题的调查表Q?/span>

?/span>调查表寄给专家Q请他们提供解决问题的意见和思\Q专安不沟通,怺保密Q?/span>

?/span>专家开始填写自q意见和想法,q把它寄回给工作组Q?/span>

?/span>处理q一轮征询的意见Q找出共同点和各U意见的l计分析情况Q将l计l果再次q还专家Q专家结合他人意见和xQ修改自q意见q说明原因;

?/span>修改过的意见进行综合处理再寄给专家Q这样反复几ơ,直到获得满意{案?/span>

德尔菲法用于团队决策可以q行一些变通:比方说将专家换成团队成员、加入外部专家、ؓ了减成本,提高效率可以不采取信函方式,而直接沟通?/span>

3.         异地思考法

异地思考法是让团队离开原来的工作环境,摆脱日常事物的干扎ͼ到另外的地方q行专门研究。比方说企业领导把管理h员和专业技术h员请C村别墅,住上两天Q专门研I企业发展中出现的重大问题。让参与决策的hd办公室,C个新的环境讨论问题,使他们摆脱工作环境中上下U界限的问题Q隔ȝ琐事情的q扰。由于大家畅所Ʋ言、思想z跃Q就可以提出一U高水^的构惻I最后做出高水^的决{?/span>

 

q些方式只是单的模板或示例。不采用哪一U方法。对于主持h来说Q必d刎ͼl织良好的决{流E,控制决策程的实施,协调决策q程中的气氛?/span>

 整理册Q结束决{过E?/span>

q个步骤是一个关键,标志着决策的成形。在团队决策中,一般会存在一个最l决{h的角艌Ӏ他可能是团队的领导Q或者是q个问题的最大成分负责h。而主持h的工作,p协调好最l决{h和团队成员的关系Qƈ辅佐最l决{h做出决策。最l决{h对于问题有自q意见Q同时他也可能是问题解决Ҏ的最l制定者。ؓ了避免最l决{h对团队决{造成不利的媄响,比如团队成员因ؓ某些原因不愿或不敢发表自q意见Q主持h需要控制好最l决{h的参与方式。这需要注意几个问题:

1.                  不要让最l决{hq早的参与到团队决策中。这q不时是说在旉斚wQ而是不要让最l决{h的意见干涉到团队成员制定决策的过E。如果最l决{hq早的给Z自己的意见,其它团队成员可能会被限制住思考的界限Q或者失d{的动力?/span>

2.                  不要让最l决{h与问题分dq。作为最l决{hQ必M出比团队成员更多的精力去了解问题和分析问题,才能保证决策的正实施。如果对问题了解不充分,会团队成员Ҏl决{生怀疑和抵触?/span>

3.                  明确责Q承担方式。这是团队决{中一个敏感部分。主持h和最l决{h必须制定出合理的责Q承担方式Qƈ告知团队成员。这个过E可能比较艰难,但一定要评估出决{带来的风险Qƈ制定出后l的解决ҎQ尽量风险带来的损失减到最?/span>

 

以上便是团队决策一个简单流E。真正的实施Q还要根据具体情况做出合理的应用和变化。团队决{中Q会面着很多问题Q团队决策变得艰难而缓慢。其中最Ҏ出现的两个误区,是团队偏极Q?/strong>group polarizationQ?/span>?strong>集一思考(groupthinkQ?/span>?/span>

团队偏极是指团队的综合决{偏向极端化?/span>1961q_国ȝ理工大学做过一研IӞ分两阶段q行Q第一阶段是问h式调查工业届从业人员Ҏ些后果不定问题的态度。第二阶D|邀请受调查者出席一场谈会Q要他们面对调查问卷上同L问题Qƈ做出决策。最后比较两阶段的决{时发现团体决策q较个h决策为极端,个h决策比较谨慎Q团体决{比较冒险。后来又l过心理学家反复研究发现团体决策h极端化們֐Q但是极端化的方向不仅限于冒险激q的一端,而是也可能出现在谨慎保守的另一端。如果团体成员多数是属于冒险Ȁq分子,那么他们所做出的决{就会更为冒险激q,如果团体成员多数属于谨慎保守者,那么他们所做出的决{就会更}慎保守。团体偏极的现象在社会生zM是很常见的。社会上有不同团体社团,有的保守Q有的激q,l常可见的现象是你与保守z中的个人接触,他未必保守,你与Ȁq派中个人接触,他未必激q,可是一l团体决{,马上体现出很强的保守或Ȁq性了。所以现在很多h回想起当q文化大革命中做U卫늚一些经历,怎么都不会相信,以自q个性当q会做出那么谱的事情,q大体也是因为团体决{的关系?/span>

对于团队偏极的另一个解释是是:参与决策者由于生怕被别h认ؓ自己是极端主义者,个h在决{时往往会回避一些自p为是比较理想Q极端)的立场。然而在组讨论各成员将自己个h看法与其他h的立场比较时Q会发现别h的意见更加接q于自己心目中的理想Q也是说可能听到别人所持的理由更优于自己。这U发现加重了他自己态度上原本极端的E度Q促使他Q她Q改变原先决定而选择相比之下更加理想Q极端)的决定,从而整体上使意见更加偏向极端?/span>

相对于团队偏极,集一思考的宛_更大。所谓的集一思考是指某团队决{是在全体成员毫无异议的情况下达成的。本来Q何问题的取决或多或少都会有所争议Q就事而言有利有弊Q就言Q见仁见智。M至于团体讨论时全数通过毫无疑义。但是集一思考这U现象是实存在的,专政C会里集一思考不ؓ奇怪,q里׃列D了,但是像美国这L民主C会Q也q是屡见不鲜Q甚臛_往q是牉|到国家兴亡的大事。比?/span>1942q罗斯福ȝd的日军偷袭珍珠港事gQ?/span>1961q肯D_ȝdU密订立的突袭古巴猪猡湾ҎQ甚?/span>1972q尼克松ȝd的水门事件无一不是有智囊团所作的团队决策所致?/span>

׃要取得意见一致的压力太大从而压制了决策成员对行动计划的客观评估的思维方式。由于要努力地维护团队的凝聚力和取得意见一_成员们不自觉地放弃了挑剔的想法和对行动计划的优缺点进行检讨。然而所攑ּ的恰恰是U学决策的必过E。因?#8220;集一思?#8221;的典型结果就是考虑不周的决定?/span>

在四U处境下“集一思?#8221;发生的可能性比较大Q危机处境,高度团结的团队,~Z局外h的判断和视,以及q于自己意见的团队领对{?/span>

要避以上两个误区Q需要团队决{主持h严}的诏d队决{流E,q制定出面对问题的不同解x案。主持h可以在团队决{进行前Q进行几ơ假想的模拟或试验,考虑C同问题出现的可能性,q制定出相应的解军_法。ƈ且在团队决策q行中,L人可以根据不同的情ŞQ对决策q程q行相应的调整?/span>

 

lg所qͼ团队决策是一Ҏ术,也是一门艺术。以上只是关于团队决{的一个笼l的概述和讨论。不采用何U方式,对团队决{高度重视ƈ有效的控Ӟ是企业创造高效率工作方式的资本?/span>

    

King Lee

2007-1-14



Randy 2009-03-11 12:07 发表评论
]]>
Visual Studio 2005常用快捷?/title><link>http://www.shnenglu.com/Randy/archive/2008/12/24/70254.html</link><dc:creator>Randy</dc:creator><author>Randy</author><pubDate>Wed, 24 Dec 2008 09:32:00 GMT</pubDate><guid>http://www.shnenglu.com/Randy/archive/2008/12/24/70254.html</guid><wfw:comment>http://www.shnenglu.com/Randy/comments/70254.html</wfw:comment><comments>http://www.shnenglu.com/Randy/archive/2008/12/24/70254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Randy/comments/commentRss/70254.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Randy/services/trackbacks/70254.html</trackback:ping><description><![CDATA[<strong>调试快捷?br><br></strong>F6: 生成解决Ҏ<br>Ctrl+F6: 生成当前目<br>F7: 查看代码<br>Shift+F7: 查看H体设计?br>F5: 启动调试<br>Ctrl+F5: 开始执?不调?<br>Shift+F5: 停止调试<br>Ctrl+Shift+F5: 重启调试<br>F9: 切换断点<br>Ctrl+F9: 启用/停止断点<br>Ctrl+Shift+F9: 删除全部断点<br>F10: 逐过E?br>Ctrl+F10: q行到光标处<br>F11: 逐语?br><br><strong>~辑快捷?/strong><br><br>Shift+Alt+Enter: 切换全屏~辑<br>Ctrl+B,T / Ctrl+K,K: 切换书签开?br>Ctrl+B,N / Ctrl+K,N: UdC一书签<br>Ctrl+B,P: UdC一书签<br>Ctrl+B,C: 清除全部标签<br><br>Ctrl+I: 渐进式搜?br>Ctrl+Shift+I: 反向渐进式搜?br>Ctrl+F: 查找<br>Ctrl+Shift+F: 在文件中查找<br>F3: 查找下一?br>Shift+F3: 查找上一?br>Ctrl+H: 替换<br>Ctrl+Shift+H: 在文件中替换<br>Alt+F12: 查找W号(列出所有查扄?<br>Ctrl+Shift+V: 剪脓板@?br><br>Ctrl+左右头? 一ơ可以移动一个单?br>Ctrl+上下头? 滚动代码屏幕Q但不移动光标位|?br>Ctrl+Shift+L: 删除当前?br>Ctrl+M,M: 隐藏或展开当前嵌套的折叠状?br>Ctrl+M,L: 所有过E设|ؓ相同的隐藏或展开状?br>Ctrl+M,P: 停止大纲昄<br>Ctrl+E,S: 查看I白<br>Ctrl+E,W: 自动换行<br>Ctrl+G: 转到指定?br>Shift+Alt+头? 选择矩Ş文本<br>Alt+鼠标左按? 选择矩Ş文本<br>Ctrl+Shift+U: 全部变ؓ大写<br>Ctrl+U: 全部变ؓ写<br><br><strong>代码快捷?/strong><br><br>Ctrl+J / Ctrl+K,L: 列出成员<br>Ctrl+Shift+I格?/ Ctrl+K,P: 参数信息<br>Ctrl+K,I: 快速信?br>Ctrl+E,C / Ctrl+K,C: 注释选定内容<br>Ctrl+E,U / Ctrl+K,U: 取消选定注释内容<br><br>Ctrl+K,M: 生成Ҏ存根<br>Ctrl+K,X: 插入代码D?br>Ctrl+K,S: 插入外侧代码<br><br>F12: 转到所调用q程或变量的定义<br><strong><br>H口快捷?/strong><br><br>Ctrl+W,W: 览器窗?br>Ctrl+W,S: 解决Ҏ理?br>Ctrl+W,C: c视?br>Ctrl+W,E: 错误列表<br>Ctrl+W,O: 输出视图<br>Ctrl+W,P: 属性窗?br>Ctrl+W,T: d列表<br>Ctrl+W,X: 工具?br>Ctrl+W,B: 书签H口<br>Ctrl+W,U: 文档大纲<br><br>Ctrl+D,B: 断点H口<br>Ctrl+D,I: xH口<br>Ctrl+Tab: zdH体切换<br>Ctrl+Shift+N: 新徏目<br>Ctrl+Shift+O: 打开目<br>Ctrl+Shift+S: 全部保存<br>Shift+Alt+C: 新徏c?br>Ctrl+Shift+A: 新徏?br><br><font color=#339966><font color=#ff0000><strong><br></strong></font><br>F5是用调试模式q行,对于E序抛出的异怼q行查的,有些异常调试器会忽略,有些异常会谈出对话框。哪些异常忽略,哪些谈出对话框是可以讄的?<br>   <br>Ctrl+F5是直接运行程序,调试器完全不程序运行状态,所以所有未被俘L异常都回DE序直接退出?/font> <img src ="http://www.shnenglu.com/Randy/aggbug/70254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Randy/" target="_blank">Randy</a> 2008-12-24 17:32 <a href="http://www.shnenglu.com/Randy/archive/2008/12/24/70254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源日志系llog4cplushttp://www.shnenglu.com/Randy/archive/2008/11/22/67570.htmlRandyRandySat, 22 Nov 2008 04:16:00 GMThttp://www.shnenglu.com/Randy/archive/2008/11/22/67570.htmlhttp://www.shnenglu.com/Randy/comments/67570.htmlhttp://www.shnenglu.com/Randy/archive/2008/11/22/67570.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/67570.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/67570.html阅读全文

Randy 2008-11-22 12:16 发表评论
]]>
gtesthttp://www.shnenglu.com/Randy/archive/2008/11/14/66961.htmlRandyRandyFri, 14 Nov 2008 14:54:00 GMThttp://www.shnenglu.com/Randy/archive/2008/11/14/66961.htmlhttp://www.shnenglu.com/Randy/comments/66961.htmlhttp://www.shnenglu.com/Randy/archive/2008/11/14/66961.html#Feedback0http://www.shnenglu.com/Randy/comments/commentRss/66961.htmlhttp://www.shnenglu.com/Randy/services/trackbacks/66961.html断言Q?br>ASSERT_TRUE(condition); EXPECT_TRUE(condition); condition为真
ASSERT_FALSE(condition);    EXPECT_FALSE(condition);    condition为假

ASSERT_EQ(expected, actual);    EXPECT_EQ(expected, actual);    expected == actual
ASSERT_NE(val1, val2);  EXPECT_NE(val1, val2);  val1 != val2
ASSERT_LT(val1, val2);  EXPECT_LT(val1, val2);  val1 < val2
ASSERT_LE(val1, val2);  EXPECT_LE(val1, val2);  val1 <= val2
ASSERT_GT(val1, val2);  EXPECT_GT(val1, val2);  val1 > val2
ASSERT_GE(val1, val2);  EXPECT_GE(val1, val2);  val1 >= val2

ASSERT_STREQ(expected_str, actual_str); EXPECT_STREQ(expected_str, actual_str); 两个C字符串有相同的内?br>ASSERT_STRNE(str1, str2);   EXPECT_STRNE(str1, str2); 两个C字符串有不同的内?br>ASSERT_STRCASEEQ(expected_str, actual_str); EXPECT_STRCASEEQ(expected_str, actual_str); 两个C字符串有相同的内容,忽略大小?br>ASSERT_STRCASENE(str1, str2);   EXPECT_STRCASENE(str1, str2);   两个C字符串有不同的内容,忽略大小?br>
ASSERT_*版本的断ap|时会产生致命p|Qƈl束当前函数。EXPECT_*版本的断a产生非致命失败,而不会中止当前函数。通常更推荐用EXPECT_*断言Q因为它们运行一个测试中可以有不止一个的错误被报告出来。但如果在编写断a如果p|Q就没有必要l箋往下执行的试Ӟ你应该用ASSERT_*断言?

 因ؓp|的ASSERT_*断言会立M当前的函数返回,可能会蟩q其后的一些的清洁代码Q这样也怼DI间泄漏。根据泄漏本w的特质Q这U情况也许值得修复Q也可能不值得我们兛_——所以,如果你得到断a错误的同Ӟq得C一个堆查的错误Q记住上面我们所说的q一炏V?

 要提供一个自定义的错误消息,只需要?lt;<操作W,或一?lt;<操作W的序列Q将其输入到框架定义的宏中。下面是一个例子:

ASSERT_EQ(x.size(), y.size()) << "Vectors x and y are of unequal length";   
for (int i = 0; i < x.size(); ++i) {   
  EXPECT_EQ(x[i], y[i]) 
<< "Vectors x and y differ at index " << i;   
}
  
M能够被输出到ostream中的信息都可以被输出C个断a宏中——特别是C字符串和string对象。如果一个宽字符Ԍwchar_t*Qwindows上UNICODE模式TCHAR*或std::wstringQ被输出C个断a中,在打印时它会被{换成UTF-8~码?br>
如果需要将信息输出到XML中。在参数中用:
--gtest_output=xml:test.xml
可以了

Randy 2008-11-14 22:54 发表评论
]]>
þþþþþƷѿSSS| ݺɫþþۺϲ| þþþþƷĻ | þþƷƷް| žžþþƷ| ޹պۺϾþþƷ| vavavaþ| 99þùۺϾƷˮ| þþþùɫAVѹۿ | Ʒþþþþ֣ݹ˾| Сڵþþþþ| þԾƷ| þóӰԺƷ777| Ʒþþþþ³| þ99Ʒ鶹լլ| þ99žŹѿС˵| 99þþƷëƬѲ| Ʒþþþþþ˿| ޹˾þۺ3d| һõþۺϺݺݰ| 99ȾƷþֻоƷ| þþƷĻ鶹| þۺϾþԾ99ëƬ| һձþþ| þþþþҹӰԺ| þùAVJUST鶹| þùƵ99Ӱ| 91ƷùۺϾþ| þùŷպƷ| ղƷþþþþþ| þˬƬţţ| ŷ˾þþƷ| þþƷһ| ޹Ʒþþþ| 99ƷȾþ| 97þۺɫۺɫhd| þþþAVƬ| ŷ˾þۺ| þþþavӰ| þø߳һëƬ| ŷƷþø|