C++
阿里路亚1984
Oracle OCP认证。精通C++、JAVA开发,熟悉Linux、MySQL以及微服务架构。
展开
-
volatile的作用
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设转载 2011-09-29 22:03:55 · 345 阅读 · 0 评论 -
OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。
这个是某论坛版主的答案 #define OFFSETOF(s, m) ({s s1;(void*)(&s1)-(void*)(&s1->m);}) /*gcc*/ s s1; 声明一个结构体s的变量 (void*)(&s1) 获得s1的地址 (voi原创 2011-09-29 22:22:20 · 978 阅读 · 0 评论 -
讨论const的实现机制
说实话 我感觉 const 的实现应该和 宏类似。 例如 const int i = 10; 当代码中有引用到 i 的地方 就直接用 10 这个常数替换掉, 只是相对宏会做一次类型安全检测,发现类型不对会进行报错。 如果是这样实现的话,那const就应该是在编译期展开原创 2011-09-29 22:30:06 · 1219 阅读 · 0 评论 -
bitset 用法整理
构造函数 bitset b; b有n位,每位都为0.参数n可以为一个表达式. 如bitset b0;则"b0"为"00000"; bitset b(unsigned long u); b有n位,并用u赋值;如果u超过n位,则顶端被截除 如:bitsetb0(转载 2011-10-12 20:03:57 · 440 阅读 · 0 评论 -
C++ 对象的内存布局
C++ 对象的内存布局 2008-11-14 作者:陈皓 来源:csdn 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简转载 2011-11-06 23:55:14 · 394 阅读 · 0 评论