随笔分类 - C++
摘要:sem_t分为有名和无名。有名的sem_t通过sem_open来创建, 而无名的sem_t通过sem_init的初始化。 用有名的sem_t来进程间同步是件很容易的事情,百度上一搜很多想相关的例子。 有名和无名的sem_t主要区别: 1. 效率:有名sem_t是放在文件,无名的sem_t是放在内存。
阅读全文
摘要:测试结论是发现C++11原子操作在性能上,比以往用到的InterlockedIncrement或__sync_add_and_fetch性能上慢了1倍左右。
阅读全文
摘要:C++类型转换
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。
阅读全文
摘要:数组的初始化方式,可以用以上几种:
1.直接声明,以后再对其赋值。
2.声明的时候给出初始值,用"{}"来给出初始值,如果是char类型,是可以用{"a","b","c"}或者直接用字符串赋值"abc";
3.用一个指针声明,动态分配数组的大小,例子中是定义指针的时候就从堆中申请了4个int的内存来表示数组,也是可以在要用到的时候再用new申请分配内存,并且这样的数组是需要手动去进行内存释放的,请注意下面的delete。
阅读全文
摘要:C++基本类型大小:在32位计算机中测试得到:sizeof(bool) == 1sizeof(char) == 1 sizeof(short) == 2sizeof(int) == 4sizeof(long) = 4sizeof(float) == 4sizeof(double) == 8类型枚举:...
阅读全文