C&C++语言的那些经验 2

1.

BOOL返回值

BOOL bRet  = FALSE;

bRet  = funcA();

bRet  &= funcB();

bRet  &= funcC();

bRet  &= funcD();

 虽说不是很常用,但是在不需要处理定位错误的场合,可以这么用

 

2. 

一个中国地图导航公司,是这样设计分配内存的 先定义一个结构体,然后动态分配全在这个结构体中,然后在deconstrator前delete struct中的所有东东。

优点:没有内存碎片,快,小

缺点:分配的size必须提前知道,维护修改麻烦点。

 

3. 

用C的多了,再用C++,就喜欢把一个对象指针,整个工程传来传去, 

在组件中分配内存,使用时,  得到对象指针,然后是函数指针。

 

优点:特定场合使用方便(比如callback) 

缺点:感觉完全不考虑OOP和设计模式,层次感不好

 

一直都说大数据,然而在迎接大数据的时候,如何从最基本的做起呢?

    1>回到最基本的malloc free ,  new delete (失败的异常处理)

怎么样才是好用的,自己重载new delete  或许你能找到答案。参见(effective c++)

    2>比较重要是内存池, 线程池。

    3>传递数据也尽量用byte处理。

    4>然后才是结构,算法什么的。


pasting

 

 说到异常,我想根据逻辑做好异常(做完美)太难,任务量也大。

还是那句老话, (这是一个取舍的问题!)

逻辑判断,异常处理, 交给上层处理,下面的IF,功能越精简越好,    看看C中 strcat  strcopy 的一些实现,都没有加异常.(而安全版本是  XXX_s)

 

我只是想说时间不是无限的, IF的使用者应该是有文档的,所以有些异常不要管太宽。

C&C++语言的那些经验 2,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。