c++
文章平均质量分 86
c++
fchwpo?
这个作者很懒,什么都没留下…
展开
-
C++知识点总结10 list
为什么会有list? 补充vector的不足 vector的优点: 支持下标的随机访问(operator[]),间接的很好的支持排序、二分查找、堆算法等vector的缺点: 1、头部和中部的插入删除效率低,O(N),因为需要挪动数据 2、插入数据空间不够需要增容,增容需要开辟新空间、拷贝数据、释放旧空间,会付出很大的代价 list的优点: 1、头部、中间插入不需要挪动数据,效率高,O(1) 2、插...原创 2021-08-18 20:03:57 · 223 阅读 · 0 评论 -
C++知识点总结9 vector
vector的介绍 vector的文档介绍:http://www.cplusplus.com/reference/vector/vector/ 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。 3. 本质讲,vector使用动态分配数组来存储它的...原创 2021-08-18 19:59:17 · 245 阅读 · 0 评论 -
C++知识点总结8 string
标准库中的string类string类 1. 字符串是表示字符序列的类 2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。 3. string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型(关于模板的更多信息,请参阅basic_string)。 4. string类是basic_string模板类的一个实例,它使用char来实例化ba...原创 2021-08-18 19:52:04 · 428 阅读 · 0 评论 -
C++知识点总结7 模板II
非类型模板参数 模板参数分为类型形参与非类型形参。 类型形参:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。 namespace xxx { // 定义一个模板类型的静态数组 template<class T,size_t N = 10> ...原创 2021-08-17 22:16:39 · 122 阅读 · 0 评论 -
C++知识点总结6 模板I
泛型编程 如何实现一个通用的交换函数呢? 使用函数重载虽然可以实现,但是有一下几个不好的地方: 1. 重载的函数仅仅只是类型不同,代码的复用率比较低,只要有新类型出现时,就需要增加对应的函数 2. 代码的可维护性比较低,一个出错可能所有的重载均出错 如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件 (生成具体类型的代码),那将会节省许多头发。泛型编程:编写与类型无关的通用代码,是代码复...原创 2021-08-17 22:08:45 · 98 阅读 · 0 评论 -
C++知识点总结5 内存管理
C/C++内存分布 【说明】 1.栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。(栈可以通过函数_alloca进行动态分配,不过,所分配空间不能通过free或delete进行释放) 2.内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存,做进程间通信。(Linux课程如果没学到这块,现在只需要了解一下) 3.堆用于程序运行时动态内存分配(只能),堆是可以向上增长的。 4.数据段...原创 2021-08-17 22:02:27 · 256 阅读 · 0 评论 -
C++知识点总结3 类和对象II
类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。1.构造函数构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。特性 构造函数是特殊的成员函数,需要注意的是,构造函数的虽然名称叫构造,但是需要注意的是构造函数的主要任务并不是开空间创建对象,而...原创 2021-08-15 22:33:18 · 85 阅读 · 0 评论 -
C++知识点总结4 类和对象III
再谈构造函数构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date 、 { public: Date(int year, int month, int day) { _year = year; _month = month; _day = day;...原创 2021-08-15 22:40:42 · 92 阅读 · 0 评论 -
C++知识点总结2 类和对象I
面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类的引入 C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数类的定义 class className { // 类体:由成员函数和成员变量组成 }; // 一定要注意后...原创 2021-08-15 22:16:03 · 138 阅读 · 0 评论 -
C++知识点总结1 基础知识点
命名空间 在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作 用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。 命名空间定义 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。 命名空间使用 命名空间的使用有三种方式: 1...原创 2021-08-15 20:02:29 · 142 阅读 · 0 评论