![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 76
梅始愚
托克维尔说过对他而言立言比立功重要那么我就把现在开始的学习记录在这blog上
展开
-
《C++ primer》第14章 重载操作符与转换
重载操作符的定义 保留字operator后接需要定义的操作符符号重载操作符必须具有至少一个类类型或枚举类型操作数。不能重新定义用于内置类型对象的操作符的含义优先级和结合性是固定的不在具备短路特性操作符定义为非成员函数时,通常将他们设置为类的友元将要作关联容器键类型应定义选择那些操作符为成员函数:=,[],(),->,++,-- 普通的非成员函数:算数操作符,相等操作符,关系操作符,原创 2013-04-26 15:30:41 · 789 阅读 · 0 评论 -
《C++ primer》第 12 章 类
类的定义和声明 创建一个对象的时候,编译器会自动使用一个构造函数来初始化对象,构造函数一般使用初始化列表来初始化对象成员Sales_item():unit_sold(0),revenue(0,0){}类内部定义的函数默认是inlineconst成员函数不能改变所操作对象的数据成员。const必须同时出现在声明和定义中类背后蕴含的思想是抽象与封装可以在类内部或是外部的函数上定义inli原创 2013-04-21 16:32:06 · 1001 阅读 · 1 评论 -
《C++ primer》第11章 泛型算法
简介 算法大多不依赖于特定的容器类型,是“泛型”的,可作用在不同类型的容器和不同类型的元素上,不但可以用在vector、list上,还可以用在内置数据类型、甚至其它类型的数据上。 概述 迭代器将算法与容器绑定起来算法从不使用容器操作,元素的访问和遍历都是通过迭代器实现算法也许会改变容器中元素的值,但是从不会直接添加和删除元素 初窥算法 泛型算法的头文件是泛化的算数算法原创 2013-04-24 20:49:10 · 736 阅读 · 0 评论 -
《C++ primer》第9章 顺序容器
原先学习C++从来不知道有容器一说,就晓得一个面向对象,一叶障目,如今了解到标准库,它的强大正向我慢慢展示,前进吧 顺序容器的定义 标准库定义了三种容器类型:vector, list , deque 区别在于访问元素的方式,以及添加和删除元素的运行代价顺序容器的适配器:适配器是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础容器类型。顺序适配器: stack 后进先出 q原创 2013-04-17 14:24:55 · 625 阅读 · 0 评论 -
《C++ Primer》第8章 标准IO库
IO类型在三个独立头文件中定义:iostream定义读写控制窗口类型,fstream定义已命名文件的类型,sstream定义则用于存在内存中的string对象iostream注意区别头文件与类型,当它作为类型时,由istream和ostream派生而来。对IO类型使用继承有重要的含义:如果函数有基类类型引用形参时,可以给函数传递给其派生类对象。例如当使用&istream做形参时,可以使用ifstr原创 2013-04-10 14:14:52 · 693 阅读 · 0 评论 -
《c++ primer》第 10 章 关联容器
概论 关联容器与顺序容器的本质差别:关联容器通过键(key)存储和读取元素,而顺序容器通过元素在容器中的位置顺序访问和存储元素 引言 pair类型 在utility中定义生成pair对象make_pair mapword;word.insert(make_pair("abc",1))在返回一对值的时候,可以考虑使用,例如返回最小最大值 关联容器 区别于顺序容器,关联原创 2013-05-23 09:12:37 · 661 阅读 · 0 评论 -
《C++ Primer》第7章函数
1.与操作符一样,函数可以重载,这意味着同样的函数名可以对应不同的函数 2.函数调用做了两件事情:用相应的实参初始化函数的形参,控制权交给被调用的函数 3.C++是一门强静态语言,每一次函数调用的时候,编译器会检查实参。好处:对于大程序,在编译时检查出接口的错误,减少调试时间 4.非引用形参:通过复制对应的实参实现初始化 5.const形参 调用函数时 1.如果函数使用的是非引原创 2013-04-04 09:40:45 · 742 阅读 · 0 评论 -
《C++ Primer》第 15 章 面向对象编程
概述 面向对象编程基于三个基本的概念:数据抽象、继承、动态绑定。在C++中,用类进行数据抽象,用类派生从一个类继承另一个类:派生类继承基类成员。动态绑定使编译器能够在运行时决定使用基类中定义的函数韩式派生类定义的函数。 面向对象编程概述 多态性。在C++中,多态性仅用于通过继承而相关联的类型或是指针。定义virtual的函数是基类期待派生类期待派生类重新定义的,基类希望派生类定义原创 2013-04-30 09:32:00 · 1149 阅读 · 1 评论 -
《C++ primer》第 13 章 复制控制
概述 类除了需要定义对象上的操作,还需要定义复制、赋值或是撤销该类型对象的含义。特殊的成员函数包括复制构造函数、赋值操作符和析构函数可用于定义这些操作。这些被称为复制控制函数如果类没有定义其中的一个或是几个,编译器将自动定义它们,由编译器合成的复制控制,函数非常精炼,但有些情况依赖于默认定义将会导致灾难定义复制控制函数最为困难的部分在于认识到它们的必要性复制构函数:具有单个形参,该形参(原创 2013-04-23 14:56:47 · 683 阅读 · 0 评论 -
《c++ primer》第16章 模板与泛型编程
泛型编程就是独立于任何特定类型的方式进行编码。模板是泛型编程的基础。使用模板无需了解模板的定义。依赖于编译时的多态性或参数式多态性 模板的定义 函数模板定义template int compare(const T &v1,const T &v2) { if(v1<v2) return -1; if(v2>v1) return 1; return 0原创 2013-05-29 10:26:29 · 796 阅读 · 0 评论