![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/C
文章平均质量分 69
sweetgum2012
这个作者很懒,什么都没留下…
展开
-
C++的一大误区——深入解释直接初始化与复制初始化的区别
不久前,在博客上发表了一篇文章——提高程序运行效率的10个简单方法,对于其中最后一点,多使用直接初始化,有很多读者向我提出了疑问,并写了一些测试程序,来说明直接初始化与复制初始化是同一件事。让我了解到大家对于直接初始化与复制初始化的区别的确是不太清楚,无可否认,那篇文章的例子用得的确不太好,在这里表示歉意!所以我觉得还是有必要跟大家详细分享一下我对直接初始化和复制初始化的理解。转载 2015-04-26 09:59:42 · 472 阅读 · 0 评论 -
C语言的数组名和对数组名取地址
相信不少的C语言初学者都知道,数组名相当于指针,指向数组的首地址,而函数名相当于函数指针,指向函数的入口地址。现在又这样一个问题,如果对数组名取地址,那得到的会是什么呢?很多人立刻会想到:给指针取地址,就是指针的指针,既二级指针嘛!当然这样的结论是错误的,不然这篇笔记也就没有意义了。 下面我们来逐步分析,下面是一段验证这个问题的代码 Code: #includ转载 2015-05-27 13:01:07 · 546 阅读 · 0 评论 -
结构体字节对齐
结构体的各个成员并不是一个紧挨着一个的,中间可能有填充(Padding),不仅如此,在结构体的结尾可能也有填充。 最后sizeof(s)的值为12, 并不是1+2+4+1=8,出现这种现象的原因是计算机体系结构对于访问内存的限制,访问4字节的指令所访问的内存地址应该是4的整数倍,访问2字节的指令所访问的内存地址应该是2字节的整数倍,这称为对齐(Alignment)。对于上面的结构体,编译器会把它的基原创 2016-04-18 10:30:12 · 1872 阅读 · 0 评论