自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 虚函数实现原理

虚函数: 是为了实现面向对象的多态机制。 简单点来说,就是让父类指针指向子类对象实例,父类指针可以调用子类的成员函数,从而让父类指针有多种特性。 虚函数表:每个有虚函数的类都会有一张虚函数表,虚函数表其实就是类虚函数的地址表。编译器中规定指向虚函数表的指针位于对象实例的最前面位置。 虚函数表地址获取: class Base{ public: virtual void f(); virt

2017-03-02 18:58:38 228

转载 extern C的作用详解

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。      这个功能十

2017-01-03 19:50:52 263

转载 extern C的作用详解

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。      这个功能十分有

2017-01-03 19:49:44 126

原创 const,#define和typedef

1.const 和#define 区别:     const声明的常量司一阁“run-time”概念,它在程序中存在,并且可以被调用,传递,而#define 常量是一个“compile-time”概念,它的生命在编译器,而在实际程序中,它只是一个常数,一个命令中的常数,没有实际的存在。         const 常量存在于程序的数据段,而#define常量存在于程序的代码段

2016-12-30 15:52:22 198

转载 STL容器迭代器失效问题

众所周知当使用一个容器的insert或者erase函数通过迭代器插入或删除元素"可能"会导致迭代器失效,因此很多建议都是让我们获取insert或者erase返回的迭代器,以便用重新获取新的有效的迭代器进行正确的操作: view plaincopy to clipboardprint? iter=vec.insert(iter);    iter=vec.erase(iter);     

2016-12-30 15:36:11 156

转载 close_on_exec标志位的作用

close_on_exec 是一个进程所有文件描述符(文件句柄)的位图标志,每个比特位代表一个打开的文件描述符,用于确定在调用系统调用execve()时需要关闭的文件句柄(参见include/fcntl.h)。当一个程序使用fork()函数创建了一个子进程时,通常会在该子进程中调用execve()函数加载执行另一个新程序。此时子进程将完全被新程序替换掉,并在子进程中开始执行新程序。若一个文件描述符

2016-02-28 22:15:46 311

转载 C++中int类型转换成string类型的方法

代码如下: #include #include #include int main(){ int i; string s; ostringstream os; os s=os.str(); return 0; }

2015-12-25 21:54:21 568

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除