C/C++ 基础学习整理
杨玉庆
这个作者很懒,什么都没留下…
展开
-
c++ 内存申请
问题:1:动态申请内存如下:int *d = new int【10】;delete []d;在用malloc()申请内存时,最好多申请一个单位的内存,不然会在free()时会出错,如下:(摘自以以为网上大牛例子)今天碰到到了free函数释放内存的错误,而且真的很难搞懂,上网一搜,竟然还有类似的,按照他的说法,修改自己的程序,还就通过了。看来以后用free函数之前原创 2015-12-24 17:58:22 · 3768 阅读 · 0 评论 -
c/c++ memset()
摘自百度百科:memset 编辑memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。中文名memset函数别 称char型初始化函数转载 2015-12-24 19:56:24 · 703 阅读 · 0 评论 -
c++ 内联函数 (讲解的TM真好)
1. 内联函数在C++中我们通常定义以下函数来求两个整数的最大值:复制代码 代码如下:int max(int a, int b){ return a > b ? a : b;}为这么一个小的操作定义一个函数的好处有:① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多② 如果需要做任何修改,修改函数要比找出并修改每一处转载 2016-01-28 16:49:52 · 112148 阅读 · 39 评论 -
vector
vector a vector表示这个是一个vector容器,可自动增加长度的动态数组(相当于一个杯子),int*表示的是容器里装的是int型指针(杯子里装的水) a表示这个容器的名字 (比如这个杯子叫保温杯)vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的转载 2016-04-01 22:37:30 · 365 阅读 · 0 评论 -
C++中的容器类详解
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector 连续存储结构,每个元素在内存上是连续的; 支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操转载 2016-10-26 16:34:55 · 285 阅读 · 0 评论 -
浅拷贝深拷贝
对深拷贝与浅拷贝的再次理解 记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深刻,最近在调试bug的时候,再次遇到深拷贝与浅拷贝,认真分析了,写写自己的心得吧。 先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1 = obj;转载 2016-10-26 20:42:54 · 236 阅读 · 0 评论 -
queue
一.queue模版类的定义在头文件中。queue与stack模版非常类似,queue模版也需要定义两个模版参数,一个是元素类型,一个是容器类型,元素类型是必要的,容器类型是可选的,默认为dqueue类型。定义queue对象的示例代码如下:queueq1;queueq2;queue的基本操作有:1.入队:如q.push(x):将x元素接到队列的末端;转载 2016-11-09 15:09:23 · 254 阅读 · 0 评论 -
c++ 11 final, override,const 成员函数
final 失败来源:面试题 有时候我们会定义这样一种类, 我们不希望其他类继承它, 或者不想考虑他是否适合作为一个基类。为了实现这一个目的,c++ 11提供了防止继承发生的方法,及在类后面跟一个关键字finnal: class base final{};final 也可指定函数,如果定义为final了, 则之后任何覆盖该函数的操作都将引起错原创 2017-08-28 21:32:02 · 3600 阅读 · 0 评论