![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《c++ primer》
z-k
这个作者很懒,什么都没留下…
展开
-
《C++primer》第二章:声明、定义、标识符、引用、指针、const
1、声明VS定义 ·声明需加extern,若加了extern又赋了初始值,则变为定义 ·不能在函数体内部初始化由extern标记的变量 2、标识符 ·不能连续出现2个下划线,也不能以下划线紧接大写字母开头 ·定义在函数体外的标识符不能以下划线开头 ·规范: 类一般大写字母...原创 2018-09-29 21:47:45 · 459 阅读 · 0 评论 -
《C++primer》第15章:面向对象程序设计
1、定义基类和派生类 定义基类 基类通常都定义一个虚析构函数 派生类经常(不总是)对基类的虚函数重新定义 当我们使用指针或引用调用虚函数时,该调用将被动态绑定 任何构造函数之外的非静态函数都可以是虚函数 关键字virtual只能出现在类内部的声明语句之前而不能用于类外部的定义 定义派生类 可将公有派生类对象绑定到基类的引用或指针上 派生类必须使用基类的构造函数来初始化它的基类部分...原创 2019-02-24 10:54:46 · 276 阅读 · 0 评论 -
《C++primer》第12章:动态内存
1、动态内存与智能指针 shared_ptr类 支持的操作 make_share函数 make_share定义在memory头文件中,作用是分配一个对象并初始化它,返回指向此对象的shared_ptr指针 使用示例 shared_ptr的拷贝和赋值 可认为每个shared_ptr都有一个引用计数 无论何时拷贝一个shared_ptr,计数器都会递增 当给一个shared_...原创 2019-02-14 19:57:58 · 232 阅读 · 0 评论 -
《C++primer》第11章:关联容器
1、标准库提供8个关联容器 前部分底层数据结构是红黑树,后部分底层数据结构是哈希表,具体细节见《STL源码剖析》 2、容器概述 容器列表初始化举例 map的列表初始化中每个pair都需要用{}括起来 可提供自己定义的操作来的代替关键字上的<关键字 无论我们怎么定义,都需具备以下性质 使用关键字类型的比较函数 如果容器的关键字是我们自己定义的类,那么我们在定义...原创 2019-02-12 15:57:53 · 211 阅读 · 0 评论 -
《C++primer》第9章:顺序容器
容器库概览 容器分类 容器常用操作 forward_list无size操作 forward_list不支持递减运算符(--) begin(),end()为前闭后开区间 对非常量对象调用begin、end、rbegin、rend会返回iterator版本,只有在对一个const对象调用这些函数,会返回const版本 容器定义与初始化 将一个容器初始化...原创 2019-02-01 11:03:55 · 356 阅读 · 0 评论 -
《C++primer》第10章:泛型算法
初始泛型算法 举例了几个常见算法... 只读算法最好使用const迭代器,除非想对返回的迭代器再进行其它操作 那些只接受一个单一迭代器来表示第二个序列的算法,都假定第二个序列至少和第一个序列一样长 向目的迭代器写入的算法都假定目的的位置足够大,若位置不足,则结果未定义 定制操作 可向算法传递谓词,让算法按照我们自己定制的比较标准进行比较 lambda表达式: 理解为未命名的内...原创 2019-02-10 18:32:22 · 180 阅读 · 0 评论 -
《C++primer》第7章:7.4类作用域,7.5构造函数
7.4名字查找与类的作用域 ·一个类就是一个作用域,一旦遇到了类名,在类中所定义的东西、参数列表、函数体看都在类的作用域之内了,这样的话,我们就可以直接使用类的其他成员而无需再次授权 ·另一方面,函数的返回类型通常出现在函数名之前,因此当成员函数定义在类的外部时,返回类型中使用的名字都位于类之外,这时,返回类型必须指明它是哪个类的成员 例如 class test{ publ...原创 2018-11-12 17:10:50 · 167 阅读 · 0 评论 -
《C++primer》第7章:7.3类的其它特性
·类可以自定义某种类型在类中的别名,以此隐藏类的实现细节;区别于普通成员,类的自定义类型的成员必须先定义后使用 ·令成员作为内联函数:在类中定义的函数本身就是内联的,所以可以不必使用inline,但若使用了inline也是合法的,而类外部定义的函数则需要使用inline说明一下 ·可变数据成员:在变量声明中可以加入mutable关键字将之声明为可变数据成员,一个可变数据成员永远不会是const...原创 2018-11-05 01:22:37 · 158 阅读 · 0 评论 -
《C++primer》第七章7.1—7.2:类的构造、初始化、友元
·定义在类内部的函数是隐式的inline函数 ·任何对类成员的直接访问都被看作this的隐式引用,this是一个常量指针,不允许改变 ·编译器分2步处理类:先编译成员的声明,然后才轮到成员函数体,所以成员函数体可以随意使用类中的其它成员而无须在意这些成员出现的次序 ·若在成员函数后面出现const,则表示这个函数是常量成员函数,常量成员函数不会修改类的任何成员数据的值,若进行修改,则会报错 ...原创 2018-10-29 21:55:07 · 151 阅读 · 0 评论 -
《C++primer》第三章3.1—3.5:string、vector、数组小要点
·位于头文件的代码,一般不使用using声明,因为可能这个文件包含了其它有using的文件,可能造成名字冲突 ·执行读取操作时,string对象会自动忽略开头的空白(即空格符、换行符、制表符等)并从第一个字符读起,直到遇到下一处空白为止 ·string的size()函数返回的是一个string::size_type类型,其它STL类的size()函数也是返回的对应的类型,保持了标准库类型和机器...原创 2018-10-16 01:06:16 · 100 阅读 · 0 评论 -
《C++primer》第4章之类型转换
何时发生隐式转换: 算术转换 运算符的对象将转换成最宽的类型,比如一个运算对象的类型是long double,那么无论另外一个运算对象的类型是什么都会转换成long double 整型提升 整型提升负责把小整数类型转换成较大的整数类型(先int,装不下就unsigned int ,再是unsigned long,long long,unsigned long long ) 无符号类型...原创 2019-03-07 17:00:21 · 130 阅读 · 0 评论