终于有了间茅草棚

——我走时,会否有随风飘散的痕迹?

外面的风好大,雨也淅淅沥沥的。

世间种种的诱惑不惊不扰我清梦,山高路远不绝我追踪你绝美的笑容,登高一呼时才懂始终在为你心痛,俯首对花影摇动都是东风在捉弄

世间种种的迷惑都是因你而猜错,水光月光又交融描述这朗朗的夜空,生死到头的相从似狂花落叶般从容,当一切泯灭如梦就在远山被绝
随笔 - 39, 文章 - 2, 评论 - 256, 引用 - 3

导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(11)

随笔档案

文章档案

收藏夹

其它的我

友情连接

网页连接

搜索

最新评论

  • 1. re: void *几用
  • 方法都不错
  • --员工生日礼物
  • 2. re: void *几用
  • to oshj:
    最近才悟道这个用法,没想到你都用了很多了。

    to brent:
    不是为了玩才玩,这里每种用法在特定的情况下,都有他相应的好处。不过,我是做为自己记录的,指不定什么时候就忘记了,还可以这么用。
    1. 可以使得头文件简单,而且出于实现保密的需要,还是很有用处的。
    2. 很多时候对象本身应该简洁,但往往应对不同的需要,通常需要数据对应。举个例子,比如玩家在哪个房间,在哪个房间最好不要直接记在玩家身上,用数据注入的方式,能够很快的获得该信息。
    3. 因为是做为库暴露头文件的,使用者并不关心void *的实际意义,而且能够加快编译速度。真正要关心时,就Graphics.h这个头文件是不够的,通常会需要了解整底层个实现,才能较好的扩充。
  • --清风雨
  • 3. re: void *几用
  • 还在玩C++语言,你这玩法, 又不是用在导弹导航上...
    别人看不懂的代码,都不是好代码,分数为0

    int sub(any) { any; return TRUE;}
    (void)sub(any);

  • --brent
  • 4. re: void *几用
  • 个人用3 的情况比较多
  • --oshj
  • 5. re: 简要记录sizeof和内存对齐
  • 很清楚,受教了
  • --rdeam
  • 6. re: 局部变量
  • 我不用ATL,一般都是用标准c++支持的和平台API。
    crt里的wcs和mbs转换的函数,ms的实现是不完整的,在它的实现代码里有一段说明;而且还要设置local,比较烦琐。
  • --清风雨
  • 7. re: 简单字符串转换
  • win下,atl中有CT2CA, CW2CA等一系列转换类。
    crt中有wcstombs和mbstowcs
  • --局部变量
  • 8. re: 一个奇怪但可能有用的缓存
  • vc资料站:http://www.vcmsdn.com/     对学习很有帮助的,可以上去

    看看,或加群46138350,里面有高手可以请教的。
  • --maggie
  • 9. #progma整理
  • #pragma整理
  • --hi_wyl
  • 10. re: hpho
  • 缓冲在一等程度上是临时性的,而且实际上如果保持std::vector的iterator下次使用,也会有问题。

    所以,这个问题也就是使用时不允许这样用。
  • --清风雨
  • 11. re: 一个奇怪但可能有用的缓存
  • 如果有指针引用着arrange()所调整的那块内存,那就乱了.
  • --hpho
  • 12. re: 一个奇怪但可能有用的缓存
  • 用std::string不就行了?
  • --金庆
  • 13. re: ZiDing
  • 鉴于你的建议,前段时间我看了下boost的内存对象池,没有过于深入,
    判断下来属于做法类似,性能应该相当,甚至可能我这个略好一点。

    因为编写测试是一件相当麻烦,而且要求也很高的事,而要全面又很难。

    boost的代码我看起来比较难读,维护、调试起来对我来说是一个大麻烦。所以,我一般不选择boost。
  • --清风雨
  • 14. re: 简单内存对象池
  • 和boost的对比过没有?
  • --ZiDing
  • 15. re: 我是一个中国人,但是我却很羞愧
  • 你既然羞于做中国人,那你就没资格在这说这些看似大义凛然的话.那只能更证明你的虚伪,你在这已经把你的同胞鄙视的一文不值了,那还说这些有什么用?你才是一个真正的崇洋媚外的叛徒,你只不过找了一个冠冕堂皇的理由去媚外而已,你比那些直接媚外的人更加无耻,而且卑鄙!你这是在变相的去煽动国人去舔日本人的屁股!既然你的同胞这么不值钱,日本人都那么好,那你干脆改了国籍算了,那你就能更加正当的去爱国了,岂非一举两得?
  • --我是中国人,所以我骄傲

阅读排行榜

评论排行榜

软件工程思想(五)——设计编码

    林锐《软件工程思想》中,自己深有感触的一些言语摘录。有些可能是反面,有些是正面。

    良好的体系结构是普遍适用的,它可以高效地处理多种多样的个体需求。

    如果当需求发生变化时,程序员不得不去修改软件的体系结构,那么这个软件的系统设计是失败的。

    上层子系统可以使用下层子系统的功能,而下层子系统不能够使用上层子系统的功能。

    在相邻层之间定义清晰的接口。

    应该让模块仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。

    内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。

    如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合。

    高效率的程序永远不会过时。

    设计高效率的程序是基于良好的数据结构与算法,而不是基于编程小技巧。

    只有通过预先分析问题来确定必须达到的性能目标,才有希望挑选出正确的数据结构。

    使用简单的设计就能够达到性能目标时,选用复杂的数据结构也是没有道理的。

    我们必须先了解应用的需求,再寻找或设计与实际应用相匹配的数据结构。

    仅靠程序员主观想象设计而成的界面往往得不到大众用户的认可。

    不要片面追求外观漂亮而导致失真或华而不实。

    所有真正杰出的设计一旦被设计好,看起来都是那么的简单和显而易见。但是在获得杰出设计的过程中,需要付出令人难以置信的努力。

    设计孤立的类是比较容易的,难的是正确设计基类及其派生类。

    如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能。

    若在逻辑上B是A的“一种”(a kind of ),则允许B继承A的功能。

    若在逻辑上A是B的“一部分”(a part of),则不允许B继承A的功能,而是要用A和其它东西组合出B。

    没有人强迫你采用何种命名法,但有一点应该做到:自己的程序命名必须一致。

    非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。

    一旦确定了的假定,就要使用断言对假定进行检查。

    一般教科书都鼓励程序员们进行防错性的程序设计,但要记住这种编程风格会隐瞒错误。

    不要编写集多种功能于一身的函数,在函数的返回值中,不要将正常值和错误标志混在一起。

    无论什么时候,都不要觉得自己的编程水平天下第一,看到别人好的技术和风格,要虚心学习。

    如果把系统分析和系统设计比作“战略决策”,那么编程充其量只是“战术”。

posted on 2006-04-11 13:38 终于有了间茅草棚 阅读(3528) 评论(0)  编辑 收藏

评论

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]