
C++
kanxue1.0
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习C++ primer 之路 - ( 第十四章之 模板类 )
类模板的作用基本上和函数模板差不多,主要是为了省事和减少不必要的重复的代码,比如定义一个类 其私有数据是整型但是呢,你可能会需要用到double类型数据,但是类的成员函数基本上作用一样,这时候你就需要用到类模板,首先 定义类模板template<Class T> //定义类模板一.后面紧跟着是定义的类template<Class T>class...原创 2018-08-29 11:58:08 · 234 阅读 · 0 评论 -
C++学习之路 STL关联容器之mulit(可重复容器)
1.multiset头文件include <set> std命名空间中结构图:此结构key就是value,value就是key,不分key和value 它们两个是一起的。 可以有重复数据.(结构基于红黑树(对称二叉b树)自动调整结构的平衡)函数:1.insert(元素)将一个元素或元素范围插入到多重集合中。 该函数有多种重载,请查阅官方文档2.fin...原创 2018-09-14 14:25:06 · 2087 阅读 · 0 评论 -
C++ algorithm头文件中transform用法
transform函数可以将指定的源目标复制到新目标中transform有两个版本:第一种(参数):源目标起始迭代器地址 源目标结束迭代器地址 输出迭代器地址 自定义函数符(一元函数) transform(v1.begin(),v1.end(),v2.begin(),add); //将v1 复制到v2同时先执行add方法 将其改变后放入v2容器中int add1(in...原创 2018-09-19 16:20:03 · 4279 阅读 · 1 评论 -
C++valarray中的slice类
slice类对象可以用作数组索引,在这种情况下他表示的不是一个值而是一组值。slice对象呗初始化为三个整数值:起始索引 索引数 跨距数起始索引:表示第一个被选中的元素的下标也就是索引 索引数:表示一共要几个元素(这个要考虑到数组大小而定) 跨距:表示元素之间的间隔多少 例如:有一组数据是:1,2,3,4,5,6,7,8,9,10slice(,0,4,...原创 2018-09-19 15:22:13 · 1377 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之 STL模板之顺序容器)
STL多种容器以及结构1.Array(顺序容器)结构图:长度大小是规定死的,无法动态扩充空间定义:#include <array>array<double,10>ary = {1,2,3,4,5,6,7,8,9,10}; //必须有第二个参数,要指定有多大函数:1.get这是一个全局的函数并不是array模板所持有的get(元素...原创 2018-09-14 10:15:48 · 268 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之 函数对象)
函数符的概念:生成器是不用参数就可以调用的函数符 一元函数是用一个参数可以调用的函数符 二院函数使用两个参数可以调用的函数符 返回bool值的一元函数符是谓词 返回bool值的二元函数符是二元谓词 使用bind1st或者bind2nd函数来将一个两个的参数转化为一个单个参数函数符 1.transform()的使用 #include <iostream>#i...原创 2018-09-18 13:45:57 · 214 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十五章之 异常扩展1 RTTI)
一、什么是RTTIRTTI是运行阶段类型识别的简称。C++中RTTI主要有三个元素:名称 作用 例子 typeid 主要检测运行阶段的数据对象的类型,它可以接受两种类型参数: { 1:类名 2:结果为对象的表达式 } 返回一个type_info类的引用 ...常用的方法有一个name()此方法返回 一...原创 2018-09-07 17:33:54 · 149 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之 STL模板之vector)
一、定义vector模板vector<type>name(num) //num表示定义的初始长度 type表示类型 是一个容器,必须引入头文件 #include<vector>vector是一个顺序容器,它的内存地址是连续的。 二、迭代器什么是迭代器?它是一个广义指针,事实上,他可以是指针,也可以是一个对其执行类似指针的操作——如解引用(*)如)(...原创 2018-09-13 08:39:57 · 311 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十五章之 异常扩展1)
一、栈解退在try块中的函数发生异常后,寻找当前try块的catch语句对应的类型,如果没有则向上一层寻找(将调用权限给上一层),直到找到对应的catch语句..如果找到最上层也就是main函数里面没有与异常对应的类型,则程序直接崩溃结束.(栈: 遇到throw后,栈中的数据将依次释放直到遇到一块位于try块中的返回地址) 这个过程被称为栈解退. 这一阶段是可以自动调用类的析构函数(如果有类对...原创 2018-09-07 11:51:13 · 228 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之String类)
一、String类说明String类是位于头文件string或者string.h中,String极大的简化了C风格字符串的操作与声明,里面封装集合了多种多样的操作字符串的接口,里面还有许多构造函数,可以接受多种参数来不同的对待,而且还重载了四个基本运算符(+ - * /)。二、string构造函数及其运算符重载String 类的构造函数 构造函数 描述 string(con...原创 2018-09-10 18:31:54 · 266 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之 STL模板之list)
llist模板类在list头文件中声明,表示双向链表类,除了第一个和最后一个之外,其余中间的每个元素都与前后两个元素相链接,list无法数组表示法和支持随机访问。list强调的是元素的快速插入和删除,可利用率是最好的也是序列最快的但是排序比较慢。如:int arr[5] = {1,2,,3,4,5};list<int>a(arr,arr + 5);a[0]; /...原创 2018-09-17 11:41:18 · 218 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十六章 之 STL模板之容器的种类)
一、STL容器种类STL具有容器的概念和容器类型的。其中具有名称(如容器,序列容器和关联容器等等)的通用类别容器类型。C++11之前公有11个类型的容器,分别为:deque、list、priority_queue、stack、vector、map、multimap、set、multiset和bitsetC++11之后新增加了forword_list(单向链表容器)、unordered_...原创 2018-09-17 11:27:45 · 276 阅读 · 0 评论 -
C++ 开发贪吃蛇游戏总结
一、思考贪吃蛇的思路:1.在一个窗口绘制贪吃蛇,肯定少不了绘制的API,所以必不可少需要引入graphics.h这个图形界面库(里面封装了WIN 32大部分绘制API,如果没有的话,可以用GDI)。2.贪吃蛇吃掉食物就会增长一点,可以把它看成是一节一节的。3.蛇要移动,肯定会有坐标的变化。4.既然蛇会移动,那么蛇吃掉食物的时候食物当然也是随机变化的,所以食物也有坐标。5.蛇的碰...原创 2018-09-09 21:15:50 · 7877 阅读 · 13 评论 -
学习C++ primer 之路 - ( 第十五章之 异常)
C++有一种异常处理机制,捕获程序出现的某种错误信息,开发人员可以对这种错误进行捕获再进行相应的处理基本语句 :try{}catch 还有一个throw,这个throw时抛出的意思,是在可能出现异常错误的函数中进行使用直接例子:float func (float a,float b){ //这是一个作的除法函数 //被除数是不能为0的这样做是没有意义的 如果 ...原创 2018-09-06 10:11:15 · 203 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十五章之 嵌套类)
将类声明放入另一个类中,被称为嵌套类...嵌套类一般可以防止名称突变嵌套类可以在三种位置.1. 私有成员(私有部分声明的)class Base {private: class Next { private: int a; public: ... };public: ....原创 2018-09-05 19:19:10 · 327 阅读 · 1 评论 -
学习C++ primer 之路 - ( 第十六章 之 智能指针)
先来看一个例子:void remodel(std::string & str){ std::string * px = new std::string(str); ... str = ps; return;}你是不是似乎发现了什么呢?(手动滑稽)没错,这个函数在返回时没有delete释放动态创建的内存。这种情况下大概是“忘记了“吧。那么 再看这...原创 2018-09-11 19:52:59 · 249 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十四章之 模板类(14.5.2 使用多个类型参数) )
定义多个类型参数的模板template<class T1,class T2>定义类;template<class T1,class T2>class Pair {private: T1 a; T2 b;public: T1 & first(); T2 & second(); T1 first() const { return...原创 2018-08-30 11:52:41 · 268 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十五章之 友元类(1))
什么是友元类? 例如要编写一个模拟电视机和遥控器的demo,那么电视节和遥控器存在某种关系,但这种关系不是is-a(遥控器是电视 or 电视是遥控器), 也不是has-a(电视有遥控器 or 遥控器包含电视)他们是独立的 电视也能自己控制自己,.事实上, 遥控器是用来改变电视的状态,所以将遥控器类作为电视机类的友元类!!!关键字 : friend定义:class Tv{ f...原创 2018-09-04 11:00:23 · 185 阅读 · 0 评论 -
学习C++ primer 之路 - ( 第十七章 输入、输出和文件 之 cout)
说到输入输出,应该不会感到陌生,因为一开始学习的hello world 就是用的C++标准输入输出简单来说头文件<iostream>是必不可少的(这是标准的输入输出头文件)名称空间std下的cout输出指令函数例#include <iostream>int main (){ using std::cout; cout << "H...原创 2018-09-25 19:06:06 · 280 阅读 · 0 评论