c++
鹿几三三
这个作者很懒,什么都没留下…
展开
-
c++ primer 第六章 语句
文章目录复合语句switch语句do while 语句break语句continue语句goto 语句try 块和异常处理throw 表达式try 块函数在寻找处理代码的过程中退出标准异常使用预处理器进行调试复合语句复合语句,通常被称为块,是用一对花括号括起来的语句序列(也可能是空的)块标识了一个作用域,在块中引入的名字只能在该块内部或嵌套在块中的子块里访问switch语句提供了一...原创 2020-04-18 10:52:32 · 543 阅读 · 0 评论 -
c++ primer 第五章 表达式(部分)
文章目录在单个表达式中组合使用解引用和自增操作箭头操作符sizeof 操作符悬垂指针类型转换在单个表达式中组合使用解引用和自增操作vector<int>::iterator iter = ivec.begin();// prints 10 9 8 ... 1while (iter != ivec.end())cout << *iter++ << end...原创 2020-04-17 17:01:13 · 248 阅读 · 0 评论 -
c++ primer 第四章 数组和指针
文章目录数组数组的定义和初始化初始化数组元素指针指针变量的定义指针可能的取值void* 指针指针操作指针和引用的比较指向指针的指针使用指针访问数组元素指针的算术操作计算数组的超出末端指针指针和 const 限定符指向 const 对象的指针const 指针指针和 typedefC 风格字符串创建动态数组动态数组的定义初始化const 对象的动态数组动态空间的释放string和c语言风格字符串使用数...原创 2020-04-17 10:59:46 · 323 阅读 · 0 评论 -
c++ primer 第三章 标准库类型
文章目录命名空间的 using 声明标准库 string 类型string 对象的定义和初始化读入未知数目的string 对象使用getline 读取整行文本string 对象的操作和字符串字面值串联从string 对象获取字符string 对象中字符的处理标准库 vector 类型定义和初始化vector 对象的操作迭代器简介begin 和 end 操作vector 迭代器的自增和解引用运算co...原创 2020-04-15 16:22:16 · 512 阅读 · 0 评论 -
c++ primer 第二章 变量和基本类型
文章目录整型带符号和无符号类型整型的赋值浮点型字面值常量整型字面值规则浮点字面值规则布尔字面值和字符字面值非打印字符的转义序列字符串字面值多行字面值变量定义对象初始化整型short、int 和 long 类型都表示整型值,存储空间的大小不同带符号和无符号类型整型可以是带符号的(signed)也可以是无符号的整型 int、short 和 long 都默认为带符号型。要获得无符号型则必...原创 2020-04-10 16:09:54 · 1037 阅读 · 0 评论 -
c++ primer 第一章
第一章输入输出简介iostream控制结构while输入输出简介iostreamiostream是两种命名为 istream 和 ostream 的类型,,分别表示输入流和输出流;简单程序如下:#include <iostream>int main(){std::cout << "Enter two numbers:" << std::end...原创 2020-03-12 16:57:33 · 200 阅读 · 0 评论 -
深度优先遍历和广度优先遍历(c++)
深度优先遍历定义:所谓深度优先遍历就是从某个节点出发,通过与其相连接的一个节点向下走,直到无法继续走下去。再遍历其余未走过的节点;案例说明:从A点出发,深度遍历结果应为:ABCDEFGHI —— 先沿ABCDEFGH走完第一条路,返回G,所有点都访问了;返回F,所有点都访问了… 直到返回到C点,发现I未被访问,访问I点;具体代码实现:图构建一个邻接矩阵递归版本刚开始构建一个fla...原创 2019-09-16 18:28:52 · 4189 阅读 · 0 评论 -
排序算法总结(c++版本)
文章目录冒泡排序插入排序冒泡排序它的原理很简单,每次从左到右两两比较,把大的交换到后面,每次可以确保将前M个元素的最大值移动到最右边;步骤:从左开始比较相邻的两个元素x和y,如果 x > y 就交换两者执行比较和交换,直到到达数组的最后一个元素重复执行1和2,直到执行n次,也就是n个最大元素都排到了最后void bubble_sort(vector<int> &...原创 2019-09-15 15:01:21 · 152 阅读 · 0 评论 -
智能指针
文章目录为什么要使用智能指针auto_ptrunique_ptrshare_ptrweak_ptr本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。为什么要使用智能指针我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delet...转载 2019-09-04 15:19:43 · 1022 阅读 · 0 评论 -
哈夫曼树原理及哈夫曼编码
(一) 哈夫曼树目的:找出存放一串字符所需的最少的二进制编码原理:统计出每种字符出现的频率!(也可以是概率)//权值选择最小的两个,其根节点值为这两个元素权值的和;将出现频率(权值)最小的放在根节点左侧,次小值放在根节点右侧;用权值和替代原来的两个元素的权值;接着重复第二步,直到所有元素都被放置好为止;例题:假如我有A,B,C,D,E五个字符,出现的频率(即权值)分别为5,4,3...原创 2019-09-01 19:43:24 · 1399 阅读 · 0 评论 -
cin和cin.get(), cin.getline( )
文章目录cincin.get( )cin.getline()cin特点:忽略空格,回车符,Tab等不可见的符号;当且仅当回车后数据才会传入;用法://输入一个数int k;cin >> k;// 输入,直到不满足条件while(cin >> k) //某种操作 cout << k;如,输入:1 2 3 4[enter]输出:12...原创 2019-08-17 21:45:25 · 466 阅读 · 0 评论 -
输入接口总结
输入接口输入一行数字输入一行字符串输入多行数字输入多行字符串混合输入需分割注意输入一行数字#include<iostream>#include<vector>using namespace std;//已知输入数字的个数int n;cin >> n; //输入个数vector<int> number;for(int i=0;i&...原创 2019-08-22 15:06:02 · 251 阅读 · 0 评论 -
C++ 字节(sizeof)与指针
1. sizeof定义:sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数结构体的sizeof:需要考虑字节对齐问题。为什么需要字节对齐?从性能上看:有助于加快计算机的取数速度,否则就得多花指令周期了。从硬件上看:不是所有硬件都能读取任意位置的数据。为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),让宽度为2的基本数据类型...原创 2019-07-15 20:52:10 · 1756 阅读 · 0 评论 -
Map和Hash_map
(一) mapmap的特性是,所有元素都会根据元素的减值自动被排序。map的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一个元素会被视为键值,第二个元素会被视为实值。map不允许两个元素拥有相同的键值。1. map的基本构造函数map<string , int >strMap; map<int ,string &...原创 2019-08-02 17:41:05 · 1474 阅读 · 0 评论 -
result_of 用法
result_of 的用法:(一)为什么使用result_of ?当我们不知道某个可调用对象(函数,std::funciton或者重载了operator()操作的对象)的返回类型的时候,使用其得到该可调用对象的返回类型;(二)调用格式包含头文件 < type_traits >template<class Fn, class ArgType1, … ,class A...原创 2019-08-04 21:35:20 · 5886 阅读 · 0 评论 -
C++中typename关键字的使用方法和注意事项
C++中typename关键字的使用方法和注意事项起因typename的常见用法typename的来源一些关键概念限定名和非限定名依赖名和非依赖名类作用域引入typename的真实原因一个例子问题浮现千呼万唤始出来使用typename的规则起因近日,看到这样一行代码:typedef typename __type_traits<T>::has_trivial_destructor...转载 2019-08-05 16:46:57 · 853 阅读 · 0 评论 -
share_ptr
文章目录使用方法成员函数shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象. 定义在 memory文件中(非memory.h), 命名空间为 std.使用方法可以使用模板函数 make_shared 创建对象, make_shared 需指定类型(’<>‘中)及参数(’()'内), 传递的参数必须与指定的类型的构造函数匹配. 如: ...原创 2019-08-14 16:38:10 · 373 阅读 · 0 评论 -
std::partition
函数声明template< class ForwardIt, class UnaryPredicate >ForwardIt partition( ForwardIt first, ForwardIt last, UnaryPredicate p );作用对[first, last)元素进行处理,使得满足p的元素移到[first, last)前部,不满足的移到后部,返回第一个...转载 2019-08-14 17:07:39 · 499 阅读 · 0 评论 -
c++ set用法
文章目录特点头文件用法案例特点set中的元素是排好序的set中的元素不重复头文件#include<set>用法set<int> my_set;my_set.insert(a);my_set.erase(iter); //输入迭代器my_set.clear();my_set.empty();my_set.begin();my_set.end()...原创 2019-08-24 10:40:10 · 3972 阅读 · 0 评论