C++专项
文章平均质量分 78
不一样的博客
这个作者很懒,什么都没留下…
展开
-
C++类和对象默认成员函数总结
1.类的6个默认成员函数有哪些 2.构造函数 什么是构造函数? 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自己调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次(其主要任务是初始化对象) 构造函数的特性 1、函数名和类名相同 2、无返回值 ...原创 2019-03-15 19:53:37 · 349 阅读 · 0 评论 -
C++容器---vector总结
1.vector介绍 1.vector是表示可变大小数组的序列容器; 2.就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理; 3.本质讲,vector使用动态分配数组来存储它的元素,当新元素插入时候,这个数组需要被重新分...原创 2019-05-20 14:25:13 · 389 阅读 · 1 评论 -
C++容器---string知识点总结
1.标准库中的string类 简单概述: 1.string是表示字符串的字符串类 2.该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作 3.string在底层实际是:basic_string模板类的别名,typedef basic_string<cahr, char_traits, allcoa...原创 2019-05-17 16:36:07 · 331 阅读 · 1 评论 -
C++模板总结
1.泛型编程 理解:就是编写与类型无关的通用代码,是代码复用的一种手段。 为什么要实现泛型编程? 我们已经知道在C++中函数可重载,在函数重载有些地方不好使用:代码的复用率比较低;代码的可维护性比较低。因为C++中有模板,所以采用模板可以实现泛型编程,从而生成代码,这样就不需要我们去一个一个重载一些通用的函数。(比如:交换函数) 从这里我们引出模板...原创 2019-05-17 10:31:37 · 483 阅读 · 0 评论 -
C++容器----list总结
1.概述 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2.list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向器前一个元素和后一个元素。 3.list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效...原创 2019-08-26 12:05:52 · 307 阅读 · 0 评论 -
C&C++内存管理
1.C/C++内存分布 经典问题: 说明:1、栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的; 2、内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库; 3、堆用于程序运行时动态内存分配,堆...原创 2019-05-08 11:07:47 · 1111 阅读 · 0 评论 -
深入探索C++类和对象
1.构造函数 1>构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 注意:成员变量只初始化一次(在初始化列表中),构造函数体内的语句只能将其称为赋初值,而不能称为初始化,因此构造函数体内可以多次赋值。 2>初始化列表 初始化列表:以一个冒号开始,接着是一个逗号分隔的数据...原创 2019-03-24 10:29:01 · 316 阅读 · 1 评论 -
C++类与对象基础知识
1.初步认识类与对象 主观世界的抽象类别----->计算机世界中的类;现实世界的实体----->计算机世界的对象; 在现实世界中,实体被抽象成抽象类别;在计算机世界中,类可以被实例化为对象; 简述C语言与C++的区别: C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题; C++基于面向对象...原创 2019-03-13 20:30:12 · 723 阅读 · 0 评论 -
C++基础知识
1.C++关键字2.命名空间 为什么要有命名空间? 因为在c++语言中变量、函数、类的名称都存在于全局作用域中,可能会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染 怎么定义命名空间? 需要使用namespace关键字,后面跟命名空间的名字,然后接一对{}即可,其中{}中为命名空间的成员,举例如下...原创 2019-03-12 20:38:38 · 279 阅读 · 0 评论 -
C++ deque的使用
1、简介 1、双端队列是动态大小的序列式容器,其可以向两端进行伸缩; 2、特定的库可以以不同的方式实现deque,但通常都是一种动态数组;不论在何种情况下,它都允许通过随机访问迭代器直接访问单个元素,可以根据需要动态的伸缩; 3、deque提供一些与vector相似的功能,但deque在头部和尾部进行数据插入和删除操作更加高效。与vector不...原创 2019-08-26 15:25:33 · 519 阅读 · 0 评论