3.1 c++大神进阶(基础篇)
c++基础学习,加油!
Pierce110110
山岳在前飞在后
展开
-
String
c_str:返回创建的字符串的指针;const char* c_str() const{ return str;}原创 2020-05-07 17:27:44 · 154 阅读 · 0 评论 -
c++基础:8.6_STL:类型萃取
文章目录1.目的(***) 2.实现:begin(),end()函数(***) 3.typename的作用(***) 4.将mini:vector,list和begin(),end()结合起来1.目的如何把数组和容器统一起来;数组:指针;容器:迭代器(***) 2.实现:begin(),end()函数(1)c++11之前的遍历 list<int> li = {1,2,...原创 2020-03-07 20:32:15 · 222 阅读 · 0 评论 -
C++基础:(STL)8.1:STL简介
文章目录0\. 背景STL是什么?STL与C++标准库的关系版本1\. STL 的组成2\. 容器分类3\. 迭代器分类3\. 适配器分类4\. 算法分类5\. 函数对象分类6\. 分配器0. 背景STL是什么?STL(Standard Template Library)标准模板库的英文缩写,包含有计算机科学领域常用的基本数据结构和基本算法。STL与C++标准库的关系版本N...原创 2020-03-01 16:07:22 · 151 阅读 · 0 评论 -
c++基础7:模板编程、泛型编程
文章目录1\. 什么是模板?2\. 模板有什么用?3\. 模板编程/泛型编程4\. 模板分类函数模板类模板概念技巧类模板模板原理1. 什么是模板?模板(Template)是允许函数或者类通过_泛型(generic types)_的形式表现或运行的特性。2. 模板有什么用?模板可以使函数或者类只写一份代码而对应不同的类型。3. 模板编程/泛型编程一种独立于特定类型的编码方式4. 模板分...原创 2020-03-06 14:41:02 · 254 阅读 · 0 评论 -
c++基础6:异常
文章目录@[TOC]为什么需要异常?C语言如何表示错误异常处理特点案例语法复杂一点地写法异常的接口声明/异常规范那么当异常抛出后新对象如何释放?举例标准异常类`exception`派生逻辑异常`logic_error`派生运行时`runtime_error`派生自定义异常类构造函数、析构函数的异常处理是否使用异常机制编译器选项C语言实现异常机制为什么需要异常?异常机制的处理原理程序会出现...原创 2020-03-05 12:09:09 · 226 阅读 · 0 评论 -
c++基础5:文件管理
文章目录1\. 流2\. 流类型3\. 流对象4\. 流对象状态5\. I/O操作1\. 对齐方式2\. 整数输出格式3\. 浮点数输出格式4.布尔类型输出格式5\. 其它`stringstream`练习`stream`流文件读写文件指针`FILE`读写文件重定向扩展阅读1. 流流:数据从一个对象到另一个对象的传输。功能:标准输入输出+文件处理分类含义文本流一串A...原创 2020-03-04 13:57:56 · 629 阅读 · 0 评论 -
c++基础:8.2.2 _STL容器-list
(***)3.3. 迭代器实际应用2:lista.注意:list不支持下标访问for(int i = 0;i != l.size();++i){ cout << l<< " "; //不支持下标访问 } cout << endl;*/(完整代码 007list.cpp)#include <iostream&g...原创 2020-03-04 00:02:08 · 183 阅读 · 0 评论 -
c++基础 8.5_智能指针的用法
文章目录1. 智能指针的简单应用2. vector数组,释放内存的问题(2.1)delete[] 和delete的区别(2.2)vector存放指针(2.3)完整代码3. 智能指针数组4. 迷你stl的设计(即迭代器iterator)1. 智能指针的简单应用功能:处理没有释放内存,所引起的内存泄漏的问题;(1)智能指针的初始化类似于容器;auto_ptr<int> ptr(ne...原创 2020-03-03 22:10:03 · 267 阅读 · 0 评论 -
c++基础 8.4_(STL)仿函数
文章目录1\. 概念2\. 场景(***)3\. 仿函数+模板+set3.1\. 仿函数作为set类的比较操作模板3.2 函数指针的应用3.3 函数指针+模板函数的应用3.4 函数指针+模板函数+仿函数的应用4\. 标准4.1 C语言的处理方式4.2 C++语言的处理方式4.3 STL的仿函数1. 概念模仿函数的类,使用方式如同函数。本质是类中重载括弧运算符operator()。2. 场景...原创 2020-03-03 17:01:11 · 221 阅读 · 0 评论 -
c++基础:8.2.3 _STL容器-set
文章目录@[TOC]1\. 简介2\. 操作2.1 初始化2.2 基本操作2.3 添加数据2.5 查找2.6 区域查找2.7 删除2.8 排序3\. 实例1. 简介数学中的集合No.特性说明1确定性给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一。2互异性一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。有时需要对...原创 2020-03-03 16:41:10 · 214 阅读 · 0 评论 -
c++基础:8.2.4 _STL容器-map
文章目录1\. 简介(***)2\. 操作(***)2.1 初始化(***)2.2 修改&添加&删除&遍历常见的用法(***)2.3 map应用1:数字和出现的次数2.3 添加数据2.4 遍历2.5 `key`查找2.6 区域查找2.7 删除2.8 排序3\. 实例1. 简介map是key-value构成的集合。(***)2. 操作map是键值对<key,va...原创 2020-03-03 11:50:22 · 181 阅读 · 0 评论 -
c++基础:8.2.5_容器适配器(Container Adapte)
文章目录1 简介2 栈容器2.1 常见用法3 队列容器3.1 常见用法1 简介容器模板特点容器模板特点栈容器stack后进先出(LIFO)队列容器queue先进后出(FIFO)优先级队列容器priority_queue最高优先级元素先出2 栈容器2.1 常见用法(1)入栈操作(for循环次数) for(int i = 0;...原创 2020-03-02 16:24:23 · 256 阅读 · 0 评论 -
c++基础:8.3_STL算法
文章目录构成分类填充遍历/变换最大最小排序算法(12个):提供元素排序策略1 排序2 反转/旋转3 随机查找算法(13个):判断容器中是否包含某个值1 统计2 查找3 搜索4 边界删除和替换算法(15个)复制移除替换去重交换算术算法(4个)``关系算法(4个)集合算法(6个)排列组合算法(2个):提供计算给定集合按一定顺序的所有可能排列组合堆算法(4个)3.实际案例3.1翻转元素构成头文件功...原创 2020-03-02 14:05:56 · 377 阅读 · 0 评论 -
c++基础:8.2.1 _STL容器-vector
文章目录(***)1.vector修改方式(是否)(***)2.vector操作(modify,insert,erase)(***)3.vector的capacity/size(***)4 vector的赋值构造(***)5 vector的emplace_back()和push_back()(***)6 二维向量(矩阵等)的处理(***)1.vector修改方式(是否)序号类型特点...原创 2020-03-01 16:05:00 · 239 阅读 · 0 评论 -
C++基础 (STL)8.2.3:STL容器总结
文章目录@[TOC]1.容器简介1.1 顺序容器(序列容器)`Sequence Container`1.2 关联容器`Associative Container`1.3 容器适配器`Container Adapter`2\. 容器通用操作2.1 实例化2.2 重载运算符2.3 迭代器2.4 大小2.5 插入2.6 删除3\. 容器特有操作3.1 顺序容器特有函数3.2 关联容器特有查找函数3.3...原创 2020-03-01 11:51:17 · 116 阅读 · 0 评论 -
C++基础4:多态
多态:不同类型对象调用相同接口完成不同的行为。根据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式。关系没有封装就不能继承,没有继承就没有运行时的多态。早绑定/overload晚绑定/override函数和运算符重载继承与虚函数绑定早绑定/overload晚绑定/override函数和运算符重载继承与虚函数覆盖(重写override)与虚函数的...原创 2020-02-23 16:29:20 · 199 阅读 · 0 评论 -
c++基础3:继承
1. 语法原则:is-a父类/子类基类/派生类语法class 派生类 : [访问限定符] 基类 {成员}如果不写继承访问限定符,默认是private实例:图形继承2. 成员的访问权限publicprotectedprivate类成员函数√√√友元函数√√√子类函数√√×类对象√××子类继承了...原创 2020-02-21 16:17:17 · 202 阅读 · 0 评论 -
c/c++常用工具+网站
工欲善其事,必先利其器C/C++开发过程中,经常需要各种工具辅助,如下是常用的几件利器,可以帮助你在各方面披襟斩棘。[注释文档化工具Doxygen][代码格式化工具Astyle][静态代码检测工具cppcheck][内存检测工具Valgrind][代码覆盖率工具gcov与lcov][单元测试工具cpptest]4.内存检测工具Valgrind安装1. yum安装yum...原创 2020-02-20 13:01:23 · 214 阅读 · 0 评论 -
c++基础学习2:类和对象
文章目录1\. 认识类与对象2\. 类的定义与对象创建2.1 类的定义:与`struct`相似(C++)2.2 对象创建/实例化直接创建 \-\- 类作为类型定义变量 \-\- 栈上创建动态创建 \-\- 堆上创建动态创建数组 \-\- 堆上创建3\. `this`指针4\. 方法4.1 构造函数1. 语法特点调用时机默认构造函数构造函数的三个作用初始化列表语法作用说明成员变量的初始化顺序4.2 ...原创 2020-02-15 19:56:09 · 729 阅读 · 0 评论 -
C++基础1:从c过渡到c++
C plus plus – C语言的超集C++可以完全引用C案例:输出Hello World源代码:HelloWorld.cpp // 第一个C++程序 #include <iostream> using namespace std; int main(){ cout<< "Hello world" <<e...原创 2020-02-14 18:59:14 · 422 阅读 · 0 评论