BZ易风

导航

 
上一页 1 2 3 4 5 6 7 ··· 14 下一页

2021年8月26日

摘要: 常数项时间:以固定的步骤完成一系列操作 基本概念 Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 Deque容器 阅读全文
posted @ 2021-08-26 16:43 BZ易风 阅读(55) 评论(0) 推荐(0) 编辑
 
摘要: 单端数组 只有一个开口,如vector 双端数组 双向开口 阅读全文
posted @ 2021-08-26 16:37 BZ易风 阅读(37) 评论(0) 推荐(0) 编辑
 
摘要: 迭代器 阅读全文
posted @ 2021-08-26 16:27 BZ易风 阅读(147) 评论(0) 推荐(0) 编辑
 
摘要: 1. //逆时针遍历 void test02() { vector<int>v; for (int i = 0; i < 10; i++) { v.push_back(i); } printVector(v); //逆序迭代器 reverse_iterator for (vector<int>::r 阅读全文
posted @ 2021-08-26 16:15 BZ易风 阅读(227) 评论(0) 推荐(0) 编辑
 
摘要: 存取操作 插入和删除 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> /* vector数据存取操作 at(int idx); //返回索引idx所指的数据,如果id 阅读全文
posted @ 2021-08-26 15:47 BZ易风 阅读(30) 评论(0) 推荐(0) 编辑
 
摘要: 1.原理图 实例: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> //巧用swap收缩空间 void test01() { vector<int> v; for ( 阅读全文
posted @ 2021-08-26 15:32 BZ易风 阅读(151) 评论(0) 推荐(0) 编辑
 
摘要: ector容器 单端数组(只有一个开口)、动态数组(动态扩展空间) 构造、赋值、 大小 size 重置大小 resize 容量 capacity 是否为空 empty 交换 swap #define _CRT_SECURE_NO_WARNINGS #include <iostream> using 阅读全文
posted @ 2021-08-26 15:04 BZ易风 阅读(60) 评论(0) 推荐(0) 编辑
 
摘要: 1.vector容器基本概念 vector的数据安排以及操作方式,与array非常相似,两者的唯一差别在于空间的运用的灵活性。Array是静态空间,一旦配置了就不能改变,要换大一点或者小一点的空间,可以,一切琐碎得由自己来,首先配置一块新的空间,然后将旧空间的数据搬往新空间,再释放原来的空间。Vec 阅读全文
posted @ 2021-08-26 14:26 BZ易风 阅读(385) 评论(0) 推荐(0) 编辑
 
摘要: 修改string字符串的内容,下标操作符[]和at都会返回字符的引用。但当字符串的内存被重新分配之后,可能发生错误 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> v 阅读全文
posted @ 2021-08-26 13:51 BZ易风 阅读(59) 评论(0) 推荐(0) 编辑
 
摘要: 1.直接调用API转换 2.隐式类型转换 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* string和c-style字符串转换 //string 转 char 阅读全文
posted @ 2021-08-26 13:40 BZ易风 阅读(71) 评论(0) 推荐(0) 编辑
 
摘要: 1. /* 插入和删除操作 string& insert(int pos, const char* s); //插入字符串 string& insert(int pos, const string& str); //插入字符串 string& insert(int pos, int n, char 阅读全文
posted @ 2021-08-26 13:24 BZ易风 阅读(161) 评论(0) 推荐(0) 编辑
 
摘要: 字串 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 字串 string substr(int pos = 0, int n = npos) const;//返 阅读全文
posted @ 2021-08-26 13:20 BZ易风 阅读(18) 评论(0) 推荐(0) 编辑
 
摘要: 比较第一个不相同的字符的大小 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 比较 compare函数在>时返回 1,<时返回 -1,==时返回 0。 比较区分 阅读全文
posted @ 2021-08-26 11:29 BZ易风 阅读(206) 评论(0) 推荐(0) 编辑
 
摘要: 1.查找和替换 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; /* 查找和替换 int find(const string& str, int pos = 0) c 阅读全文
posted @ 2021-08-26 11:21 BZ易风 阅读(302) 评论(0) 推荐(0) 编辑
 
摘要: 1.拼接 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 拼接操作 string& operator+=(const string& str);//重载+=操作 阅读全文
posted @ 2021-08-26 11:04 BZ易风 阅读(262) 评论(0) 推荐(0) 编辑
 
摘要: 存取字符串 char& operator[](int n);//通过[]方式取字符 char& at(int n);//通过at方法获取字符 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #inclu 阅读全文
posted @ 2021-08-26 10:56 BZ易风 阅读(129) 评论(0) 推荐(0) 编辑
 
摘要: 1.构造函数和基本赋值 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 构造函数 string();//创建一个空的字符串 例如: string str; st 阅读全文
posted @ 2021-08-26 10:32 BZ易风 阅读(139) 评论(0) 推荐(0) 编辑
 
摘要: 基本概念 C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string类,定义在头文件<string>。 String和c风格字符串对比: Char*是一个指针,String是一个类 string封装了char*,管理这个字符串,是一个char* 阅读全文
posted @ 2021-08-26 10:25 BZ易风 阅读(20) 评论(0) 推荐(0) 编辑
 
摘要: vector STL 中的标准容器之一 :动态数组 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> #include <algorithm> void myPrint 阅读全文
posted @ 2021-08-26 10:16 BZ易风 阅读(54) 评论(0) 推荐(0) 编辑
 
摘要: 容器 vector 算法 for_each 头 algorithm 迭代器 iterator 每个容器有专属迭代器 vector<int >v vector<int>::iterator it = ….. v.begin() 指向第一个数据 v.end 指向 最后一个数据的下一个地址 #define 阅读全文
posted @ 2021-08-26 09:30 BZ易风 阅读(176) 评论(0) 推荐(0) 编辑
 
摘要: 1 阅读全文
posted @ 2021-08-26 09:26 BZ易风 阅读(30) 评论(0) 推荐(0) 编辑
 

2021年8月25日

摘要: 和文件有关系的输入输出类主要在fstream.h这个头文件中被定义,在这个头文件中主要被定义了三个类,由这三个类控制对文件的各种输入输出操作,他们分别是ifstream、ofstream、fstream,其中fstream类是由iostream类派生而来,他们之间的继承关系见下图所示: 打开并写入文 阅读全文
posted @ 2021-08-25 17:13 BZ易风 阅读(59) 评论(0) 推荐(0) 编辑
 
摘要: 字符输出 cout.flush() //刷新缓冲区 Linux下有效 cout.put() //向缓冲区写字符 cout.write() //从buffer中写num个字节到当前输出流中 cout.put() cout.write() 格式化输出 实例: void test02() { int nu 阅读全文
posted @ 2021-08-25 16:37 BZ易风 阅读(60) 评论(0) 推荐(0) 编辑
 
摘要: 在vs中使用cin.sync()无法清空输入缓冲区 两种比较好的方法: cin.ignore(numeric_limits<streamsize>::max(),'\n') //需要包含<limits> 或者 cin.ignore(cin.rdbuf()->in_avail()) 实例: void 阅读全文
posted @ 2021-08-25 16:31 BZ易风 阅读(223) 评论(0) 推荐(0) 编辑
 
摘要: 让用户输入指定范围内的数字,如果不正确 重新输入 cin.fail() 看标志位 0正常 1不正常 cin.clear()重置标志位 cin.syne() 清空缓冲区 解决不了死循环问题 void test07() { int num; cout << "请输入0-10的数字" << endl; w 阅读全文
posted @ 2021-08-25 16:05 BZ易风 阅读(108) 评论(0) 推荐(0) 编辑
 
摘要: 标准输入流 cin.get 缓冲区中读取一个字符 cin.get(两个参数) 不读换行符 cin.getline () 读取换行 并且扔掉 cin.ignore 忽略 (N) N代表忽略字符数 cin.peek 偷窥 偷看1个字符然后放回去 cin.putback 放回 把字符放回缓冲区 cin.g 阅读全文
posted @ 2021-08-25 15:15 BZ易风 阅读(77) 评论(0) 推荐(0) 编辑
 
摘要: 流的概念和流类库的结构 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。 C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进行输 阅读全文
posted @ 2021-08-25 15:10 BZ易风 阅读(169) 评论(0) 推荐(0) 编辑
 
摘要: 编写自己的异常类 自己的异常类 需要继承于 exception 重写 虚析构 what() 内部维护以错误信息 字符串 构造时候传入 错误信息字符串,what返回这个字符串 string 转 char * .c_str(); #define _CRT_SECURE_NO_WARNINGS #incl 阅读全文
posted @ 2021-08-25 14:06 BZ易风 阅读(71) 评论(0) 推荐(0) 编辑
 
摘要: 标准异常库 #incldue <stdexcept> throw out_of_range(”aaa”) 。。。 catch(out_of_range & e) cout << e.what(); #define _CRT_SECURE_NO_WARNINGS #include <iostream> 阅读全文
posted @ 2021-08-25 13:51 BZ易风 阅读(22) 评论(0) 推荐(0) 编辑
 
摘要: 标准异常库 ① 在上述继承体系中,每个类都有提供了构造函数、复制构造函数、和赋值操作符重载。 ② logic_error类及其子类、runtime_error类及其子类,它们的构造函数是接受一个string类型的形式参数,用于异常信息的描述 ③ 所有的异常类都有一个what()方法,返回const 阅读全文
posted @ 2021-08-25 13:37 BZ易风 阅读(82) 评论(0) 推荐(0) 编辑
 
摘要: 异常的多态使用 利用多态来实现 printError同一个接口调用 抛出不同的错误对象,提示不同错误 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //异常基类 class BaseException 阅读全文
posted @ 2021-08-25 13:35 BZ易风 阅读(35) 评论(0) 推荐(0) 编辑
 
摘要: 异常变量的声明周期 如果 MyException e,会多开销一份数据 ,调用拷贝构造 如果 MyExcepiton *e , 不 new提前释放对象 new 自己管理delete 推荐 MyException &e 容易些 而且 就一份数据 #define _CRT_SECURE_NO_WARNI 阅读全文
posted @ 2021-08-25 13:25 BZ易风 阅读(40) 评论(0) 推荐(0) 编辑
 
摘要: 如果想抛出特定的类型异常 ,可以利用异常的接口声明 void func() throw ( int) 只能抛出 int类型 throw() 不抛出任何类型异常 使用QT创建项目 #include "mainwindow.h" #include <QApplication> #include <QDe 阅读全文
posted @ 2021-08-25 11:10 BZ易风 阅读(78) 评论(0) 推荐(0) 编辑
 
摘要: 概念 异常被抛出后,从进入try块起,到异常被抛掷前,这期间在栈上构造的所有对象,都会被自动析构。析构的顺序与构造的顺序相反,这一过程称为栈的解旋(unwinding). #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namesp 阅读全文
posted @ 2021-08-25 10:21 BZ易风 阅读(275) 评论(0) 推荐(0) 编辑
 
摘要: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class myException { public: void printError() { cout << "自定义异常" << endl; } }; 阅读全文
posted @ 2021-08-25 10:12 BZ易风 阅读(28) 评论(0) 推荐(0) 编辑
 
摘要: 异常 异常处理就是处理程序中的错误。所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在,空指针,内存不足等等) try 试图执行 try{}中的内容 在可能出现异常的地方 抛出异常 throw try下面 catch捕获异常 catch( 捕获类型 ) 阅读全文
posted @ 2021-08-25 10:05 BZ易风 阅读(46) 评论(0) 推荐(0) 编辑
 
摘要: 最不安全,最鸡肋 不推荐 class Base {}; class Child :public Base {}; class Other {}; //重新解释转换(reinterpre_cast) void test02() { int a = 10; int* p = reinterpret_ca 阅读全文
posted @ 2021-08-25 09:36 BZ易风 阅读(130) 评论(0) 推荐(0) 编辑
 
摘要: 常量转换 不能对非指针或者非引用进行转换 对引用转换 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; void test01() { const int* p = NULL; //取出const int 阅读全文
posted @ 2021-08-25 09:28 BZ易风 阅读(76) 评论(0) 推荐(0) 编辑
 

2021年8月24日

摘要: 动态转换 不可以转换基础数据类型 父子之间可以转换 父转子 不可以 子转父 可以 发生多态 都可以 1.基础类型不可以转换 2.父子关系 向上转 可以 向下转 不安全就不可以 注意: dynamic_cast如果发生了多态,那么可以让基类转成派生类,向下转换 #define _CRT_SECURE_ 阅读全文
posted @ 2021-08-24 21:57 BZ易风 阅读(277) 评论(0) 推荐(0) 编辑
 
摘要: 静态转换 使用方式 static_cast< 目标类型>(原始数据) 可以进行基础数据类型转换 父与子类型转换 没有父子关系的自定义类型不可以转换 1.普通类型 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace s 阅读全文
posted @ 2021-08-24 21:45 BZ易风 阅读(523) 评论(0) 推荐(0) 编辑
 
上一页 1 2 3 4 5 6 7 ··· 14 下一页