![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
qq285966121
哈哈哈
展开
-
malloc于new的区别
malloc和free是c/c++语言的标准库函数,new/delete是c++的运算符。 对于malloc:我们必须计算字节数:如 int *p;p=(int *)malloc(32*sizeof(int)),并且返回后强行转换为实际类型的指针;用malloc申请内存空间后,必须检查是否分配成功;malloc与free两个函数应该是配对出现的,使用free释放时只能使用一次,如果释放两次以上转载 2017-02-13 20:03:15 · 186 阅读 · 0 评论 -
(转)C++中extern “C”含义深层探索
(转)C++中extern “C”含义深层探索 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计转载 2017-02-14 13:31:44 · 146 阅读 · 0 评论 -
(转)C/C++ volatile让你看的更明白
转载一篇有关C/C++中volatile修饰符的文章,自己用VC++ 10.0测试了一下,与原文有一些不同,特论述如下,让你也让自己看的更明白。链接:http://blog.sina.com.cn/s/blog_4e345ce70100rsc7.html1. 为什么用volatile?C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常转载 2017-03-02 16:05:11 · 209 阅读 · 0 评论 -
STL之deque
deque概述deque是一种双向的连续性空间。所谓双向开口,意思是可以在头尾两端分别做元素的插入操作。 deque采用一块所谓的map作为主控。这里的所谓map是一块连续空间,其中每个元素都是指针,指向另一段(较大)连续空间,称为缓冲区,缓冲区才是deque的储存空间主体。template<class T,class Alloc=alloc,size_t Buffsiz=0>class d原创 2017-07-31 12:30:44 · 284 阅读 · 0 评论 -
c++对象多继承的内存结构
首先介绍一下C++中有继承关系的类对象内存的布局: 在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。 对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数转载 2017-07-28 18:00:48 · 478 阅读 · 0 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
原文地址:http://blog.csdn.net/hackbuteer1/article/details/7883531一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 v转载 2017-07-28 18:05:24 · 230 阅读 · 0 评论 -
STL之list
STL的List节点STL的List节点结构如下struct node{ T data; node *prev; node *next; list<T> *container; };显然是List是一个双向链表。STL的List迭代器list不再像vector一样能以普通指针当做迭代器,因为其节点原创 2017-07-29 10:08:47 · 286 阅读 · 0 评论