C++
小巫子
眼过千遍不如手过一遍书看千行不如手敲一行手敲千行不如单步一行单步源代码千行不如单步对应汇编一行
展开
-
最快线程间数据交换算法,有效避免锁竞争 -- TwoQueues
han z. 于 星期四, 21/03/2013 - 04:34 提交处理多线程数据共享问题注意的几个要点:1、锁竞争:尽量减少锁竞争的时间和次数。2、内存:尽量是使用已分配内存,减少内存分配和释放的次数。尽量是用连续内存,减少共享占用的内存量。多线程数据交换简单方案A:定义一个list,再所有操作list的地方进转载 2013-07-11 18:02:02 · 412 阅读 · 0 评论 -
虚析构函数
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout "Do转载 2013-08-21 11:33:52 · 430 阅读 · 0 评论 -
char和unchar 强制转化为int的区别
最近有人提到char和unsigned char有什么区别,当然这个问题如果刚学计算机或者编程语言的人来说,非常简单。我也这么认为,无非就是有符号和无符号的差别嘛。这个问题让我想到了以前学习计算机常识的时候关于补码,原码,反码的差异。这里摘取参考文章【1】中的部分内容:注意:此处的'=='是相等的意思。'='是赋值的意思。在机器世界里:正数的最高转载 2013-08-09 17:50:50 · 4260 阅读 · 0 评论 -
C语言中如何使用宏
转载C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EX转载 2013-08-13 17:54:44 · 486 阅读 · 0 评论 -
MFC通用类
一、数组类:CByteArray、CDWordArray、CPtrArray、CUIntArray、CWordArray、CstringArray成员函数有:Add() 在数组的最后追加一个元素,可以根据需要增大数组大小ElementAt() 获得一个指向数组元素的指针FreeExtra() 释放不用的数组内存GetAt() 获取数组内指定位置处的值GetSize(转载 2014-07-24 14:19:53 · 455 阅读 · 0 评论