
STL(C++)
秃鹫红发夜魔王
哈哈哈
展开
-
deque基础笔记
deque基础笔记原创 2018-08-09 16:33:18 · 139 阅读 · 0 评论 -
STL理论基础笔记
1.容器分为序列式容器(容器的元素的位置是由进入容器时机和地点来决定) 关联式容器(容器已经由规则,进入容器的元素的位置不是由时间时机和地点决定) 2. 迭代器就可以理解为指针,对指针的操作基本都可以对迭代器操作。 实际上 迭代器是一个类,这个类封装一个指针. 3.算法 通过有限步骤,解决问题。STL提供了大量的模板函数模板。 ...原创 2018-08-07 16:56:56 · 154 阅读 · 0 评论 -
STL hello word程序(对STL 容器 算法 迭代器 一个初步理解)
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<vector>using namespace std;#include<algorithm>void show(int t){ cout <<"t的结果是:"<< t << endl;原创 2018-08-07 22:04:32 · 169 阅读 · 0 评论 -
deque vector 的使用案例(打分案例)
评委打分案例(sort 算法排序) 创建5个选手(姓名 得分)10个评委对5个选手进行打分 得分规则:去掉最高分 按得分对5名选手进行排名#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>#include<vector>#include<deque>#...原创 2018-08-15 10:24:28 · 235 阅读 · 0 评论 -
vector容器基本知识笔记
vector详解: 如果你知道容器大概要存取的元素大小,可以考虑使用reserve()原创 2018-08-08 16:25:40 · 182 阅读 · 0 评论 -
map
map 相对于set区别,map具有键值和实值,所有元素根据键值自动排序。pair的第一元素被称为键值,第二元素被称为实值。map也是以红黑树为底层实现机制 multimap 和map 的区别是:map不允许相同key值存在,multimap则允许相同key存在。 ...原创 2018-08-13 15:00:10 · 131 阅读 · 0 评论 -
STL总结
STL 容器是值寓意 也就是说当我们给容器中插入元素的时候,容器内部实施了拷贝动作,将我们要插入的元素再另行拷贝放入到容器中,而不是将原数据直接放入容器中,也就是收我们提供的元素必须能够被拷贝。(要考虑浅拷贝和深拷贝) 容器共性: 除了queue 和stack外,每个容器都提供可返回迭代器函数 ...原创 2018-08-13 15:46:37 · 138 阅读 · 0 评论 -
函数对象(仿函数)
假定某个类有一个重载operator(),而且重载的operator()要求获得一个参数,我们就将这个类称为“一元仿函数”(unary functor);相反,如果重载的operator()要求获取二个参数,就将这个类称为“二元仿函数”...原创 2018-08-13 16:04:56 · 214 阅读 · 0 评论 -
类模板外部实现(类模板重载操作符和友元的使用 笔记)
类模板外部实现#define _CRT_SECURE_NO_WARNINGS#include&amp;lt;iostream&amp;gt;using namespace std;template&amp;lt;class T&amp;gt;class Person{ //重载左移操作符 template&amp;lt;class T&amp;gt;//一定要加 在linux 不能通原创 2018-08-04 15:25:16 · 954 阅读 · 0 评论 -
类模板(类模板遇见static变量 笔记)
static归类所有#include&amp;lt;iostream&amp;gt;template&amp;lt;class T&amp;gt;class person{public: static int a;};//类外初始化template &amp;lt;class T&amp;gt; int peoson&amp;lt;T&amp;gt原创 2018-08-04 14:30:29 · 667 阅读 · 0 评论 -
STL(类模板笔记)
template&amp;lt;class T&amp;gt;class person{public:person(T id ,T age){this-&amp;gt;id=id;this-&amp;gt;age=age}void show(){cout&amp;lt;&amp;lt;this-&amp;gt;id&amp;lt;&amp;lt原创 2018-07-27 09:33:29 · 383 阅读 · 0 评论 -
STL(函数模板笔记)
//模板技术 类型参数化 编写代码可以忽略类型//为了让编译器区分是普通函数还是 函数模板template&amp;amp;lt;class T&amp;amp;gt;//template&amp;amp;lt;typename T&amp;amp;gt;void MySwap(T&amp;amp;amp;a,T&amp;amp;amp; b)//每个模板函数都要加 template{T tem=a;原创 2018-07-25 16:50:01 · 263 阅读 · 0 评论 -
类模板h和cpp分离编写(补充)
demo.cpp文件#define _CRT_SECURE_NO_WARNINGS#include "Person.hpp"//如果是Person.h就链接失败 类模板一般不分开写int main(void){ Person<int> xiaoming(6); xiaoming.show(); system("pause"); return 0...原创 2018-08-14 21:28:48 · 878 阅读 · 0 评论 -
文本文件操作笔记
要写入文件,需要创建一个ofstream对象,ofstream是ostream的派生类。故可以使用ostream里的方法控制写入window下读取文件,将‘/n/r’换成‘/n’,linux就不需要。 已二进制写文件,使用write(),复原二进制文件,则使用read()...原创 2018-08-07 09:59:28 · 286 阅读 · 0 评论 -
格式化输出cout笔记
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;int main(void){ int number = 10; cout << number << endl; cout.unsetf(ios::dec);//卸载当前默认的10进制输出方式...原创 2018-08-06 21:18:08 · 147 阅读 · 0 评论 -
MyArray数组笔记(模板的使用 )
MyArray数组笔记#define _CRT_NO_SECURE_WARNINGS#include<iostream>using namespace std;template<class T>class MyArray{public: MyArray(int capacity) { this->mcapacity ...原创 2018-08-05 14:41:55 · 1726 阅读 · 0 评论 -
stack容器
stack容器原创 2018-08-09 16:53:29 · 311 阅读 · 0 评论 -
队列容器 queue
队列容器 queue原创 2018-08-09 17:04:52 · 737 阅读 · 0 评论 -
链表基础知识
链表基础知识原创 2018-08-09 17:13:51 · 409 阅读 · 0 评论 -
C++类型转换笔记(STL)
C++类型转换(STL)int a=10;char c= static_cast<char>(a);//格式 //指针//static_cast 用于内置的数据类型//还有具有继承关系的指针或者引用//dynamic_cast 转换具有继承关系的指针或者引用,//在转换前会进行对象类型的检查(子类一般大于父类)子类可以变父类,类型安全,反过来就不安全。//...原创 2018-08-05 15:33:58 · 213 阅读 · 0 评论 -
set容器(pair对组)
set容器 equal_range 返回Lower_bound和upper_bound值 set默认排序的原创 2018-08-09 20:33:14 · 1187 阅读 · 0 评论 -
异常机制笔记
//异常语法int divide(int a, int b){if(y==0){ throw y;}return x/y;}int main(){ //试着去捕获异常 try{ divide(10,0); } catch(int e)//异常根据类型匹配 ...原创 2018-08-06 13:20:08 · 118 阅读 · 0 评论 -
栈解旋笔记
异常出现,异常函数的变量被析构了原创 2018-08-06 13:31:46 · 259 阅读 · 0 评论 -
异常接口声明
//这个函数可以抛出 int float char 三种类型异常,抛出其它就报错void func() throw(int,float,char){throw "abc"}catch(...)捕获所有异常原创 2018-08-06 13:42:48 · 769 阅读 · 0 评论 -
异常类型和异常变量的生命周期笔记
//普通元素 异常对象catch处理完就析构 //引用就不调用拷贝构造,异常对象catch处理完就析构了。 //throw 的异常是有类型的,catch 需严格异常类型原创 2018-08-06 14:12:31 · 232 阅读 · 0 评论 -
继承在异常中的应用笔记(异常的ABC继承和多态)
#define _CRT_SECURE_NO_WARNINGS#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;class BaseExcepyion{public: virtual void what()=0; virtual ~BaseExcepyion(){}private:};class Tnull:public B...原创 2018-08-06 16:42:15 · 121 阅读 · 0 评论 -
字符串排序
#include<stdio.h>#include<string>#include<iostream>using namespace std;int main(void){ string str[] = { "abc", "ac", "c", "abcd" }; int length = sizeof(str) / sizeof(st原创 2018-10-11 22:01:15 · 182 阅读 · 0 评论