C/C++
文章平均质量分 88
simon_夏
这个作者很懒,什么都没留下…
展开
-
深入理解C语言-----各数据类型大小
首先看下C标准中“未明确定义”的三种类型Implementation-defined、Unspecified和Undefined。(以下内容部分摘自宋劲彬老师的文章)Implementation-defined 的情况,是C 标准没有明确规定,但是要求编译器必须对此做出明确规定,并写在编译器的文档中。Unspecified的情况,往往有几种可选的处理方式,C 标准没有明原创 2014-02-24 11:31:15 · 9280 阅读 · 0 评论 -
深入理解C语言-----副作用(Side Effect)和顺序点(Sequence Point)
先看几个概念:1。引用透明:如果一个表达式(或子表达式)只计算出值而不改变环境,我们就说它是引用透明的,这种表达式早算晚算对其他计算没有影响(不改变计算的环境。当然, 它的值可能受到其他计算的影响)。比如:(a+b)*(c+d),无论先计算乘号两边都可以2. 副作用:如果一个表达式不仅算出一个值,还修改了环境,就说这个表达式有副作用(因为它多做了额外的事)。比如:a++ 那么原创 2014-03-11 16:27:39 · 6035 阅读 · 0 评论 -
深入理解C语言----动态库 & 静态库 & 链接
库是代码共享的主要方式,动态库和静态库的主要区别在于他们链接形式的不同(静态和动态链接),它们都是目标文件的集合,再加上一些索引表项来表征各文件的信息。通常,linux里目标文件是ELF格式,而win则为PE静态库和静态链接linux下静态库是以.a为后缀,而win下静态库是以lib为后缀。静态链接是由链接器将一个或多个目标文件及静态库中所被引用的目标文件完全链接到一个可执行文件中,由原创 2014-04-21 21:24:36 · 5276 阅读 · 1 评论 -
深入理解C语言----标准I/O小结(缓冲区,I/O函数及其他相关问题)
与文件I/O围绕文件描述符操作不同,标准I/O的操作是围绕原创 2014-04-11 22:44:34 · 5764 阅读 · 2 评论 -
单例模式初探
大致思路是,将该类的构造函数定义为私有方法,代码其他地方不能实例化该对象,只能通过调用该类的一个静态成员函数(get_instance())来获取这个唯一实例。更进一步,把该类的复制构造函数和重载的=赋值运算也声明为私有,即Singleton(const Singleton);和 Singleton & operate = (const Singleton&);函数,需要声明成私有的,并且只声明不原创 2014-09-30 21:30:54 · 1085 阅读 · 0 评论 -
C99中的restrict和C89的volatile关键字
1、restrict它只可以用于限定指针,并表明指针是访问一个数据对象的唯一且初始的方式原创 2014-09-30 17:29:02 · 1743 阅读 · 0 评论