前言 最近在看谷歌的开源项目sfntly,然后发现了这个项目中用的是智能指针与我之前学C++的时候接触的智能指针(shared_ptr)的实现方式不同,是两个不同的角度。所以为了更好的理解sfntly里智能指针的实现思想,...
C/C++
对Const 和 Mutable在C++11里的理解
前言 最近又重新学习起C++了,在看代码的时候突然看到了以前基本没有怎么用到的mutable关键字,所以这次就决定记录一下对它的新理解。下面的文章转载至《你确定你懂 Const 和 Mutable ?》 原文 const 和 mutab...
C++静态关联和动态关联
静态关联 函数重载和通过对象名调用的虚函数,在编译时即可确定其调用的是具体的哪一个函数,其过程称为静态关联,由于是在运行前关联的,所以又叫早期关联。 关于函数重载调用在编译时就可以确定我们不难理解...
浅谈 C++ 中的 new/delete 和 new[]/delete[]
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? - new 和 delete 是函数吗? - new [] 和 delete [] 又是什么?什么时候用它们? - 你知道 operator new 和 operator ...
链接指示:extern “C”
C++程序有时需要调用其他语言编写的函数,最常见的是调用C语言编写的函数。像其他所有其他名字一样,其他语言中的函数名字也必须在C++中进行声明,并且该声明必须指定返回类型和形参列表。对于其他语言编写的函数...
C++中的重载、覆盖、隐藏?
首先说说概念上的区别 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 重写(覆盖):是指子类重新定义父类虚函数的方法。这里有个需要注...
详解下C/C++中结构和联合
区别 Struct与Union主要有以下区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存...
【转】从如何判断浮点数是否等于0说起——浮点数的机器级表示
题目中针对的0,对于浮点类型,具体指的是0.0,自然对于指针类型就是NULL,对于整型就是0,一些常见笔试面试题中常出现,不要较真,十分欢迎提出改进意见。 本文很大程度上收到林锐博士一些文章的启发,lz也是在...
switch()的相关注意事项
这是我编程中没有注意到的地方吗,可能是我习惯用case和if的方式代替switch。但是还是需要了解的。 在C/C++中,switch的参数类型只能是bool,(unsigned) char,(unsigned) int,(unsigned) long等整数类型,还有一...
struct和class的区别
首先如果被问倒struct和class的区别时,应该知道,这是对于C++而言的,因为C语言中不存在class关键字。 在C语言中,struct是不可以保护函数的,而且不能被继承,不能实现多态,但是在C++中,struct是可以的。 ...