C++基础
TMAIAM
TMAIAM
展开
-
C++ 11 新特性 lambda函数
lambda函数的概念:也称为匿名函数。一个lambda表达式表示一个可调用的代码单元,我们可以将其理解为一个未命名的内联函数。与任何函数类似,一个lambda具有一个返回类型、一个参数列表和一个函数体。特性:lambda可能定义在函数内部。作用:对于一些可能只会用到一次的自定义函数,可以使用lambda表达式。另外由于lambda函数可以把捕获列表的内容在表达式内使用mutable进行修改访问,但是不影响原变量的值,所以也常在多线程并发编程中使用。格式:[捕获列表](参数列表) ->返回.原创 2020-10-25 12:51:10 · 126 阅读 · 0 评论 -
C++多线程编程(使用C++11后的thread库)——使用thread类进行多线程编程 学习笔记
参考以下博文:[c++11]多线程编程(一)——初识[c++11]多线程编程(二)——理解线程类的构造函数[c++11]多线程编程(三)——竞争条件与互斥锁[c++11]多线程编程(四)——死锁(Dead Lock)[c++11]多线程编程(五)——unique_lock[c++11]多线程编程(六)——条件变量(Condition Variable)深入学习c+±-多线程编程(三)thread的两种死法以下代码笔记:在这里插入代码片//==========================原创 2020-10-21 10:36:27 · 317 阅读 · 0 评论 -
C++多线程编程(一)(使用C++11后的thread类)
一、一个多线程程序示例,与单线程比较//====================把一个复杂的计算拆分多线程实现的方式,与单线程做比较,可以看到多线程的好处==============#include<iostream>#include<thread>#include<vector>#include <chrono>#include <cmath>#include <cstdlib>#include <future&转载 2020-10-21 10:11:34 · 150 阅读 · 0 评论 -
数据结构之各数据结构操作的时间复杂度 之 线性表 和 树
数据结构之各数据结构操作的时间复杂度 之 线性表 和 树一、线性表(1)顺序结构(2)链式结构二、二叉树(1)普通二叉树树表的查找(1)二叉排序树结构(2)平衡二叉树(3)红黑树一、线性表(1)顺序结构#define MAXSIZE 100Typedef struct{ Elemtype * elem; //存储空间的基地址 Int length; //当前长度}Sqlist; 查找:O(1)插入:O(n)删除:O(n) //通过下标直接找到待操作元素,主要时间花在移动元素上。原创 2020-10-06 16:39:28 · 2758 阅读 · 1 评论 -
普通变量、一级指针以及二级指针的理解
二级指针的结构示意图其中理解好对于一个指针 type *p中的p、*p和&p到底是什么,那也就能够理解二级指针了。我的方法是把它拆分着看,其中是取值符号,&是取地址符号;然后就把p当作正常的变量看待。看成是(p)更好理解。把p看成正常的变量名,那么p这里就表示这个变量的值;把*p里面的p看成普通变量可能有点难理解,举个例子:比如一个普通变量int a;我们可以理解成一个可以存放32位大小的盒子,这个盒子之只能放整数,里面的数据值可能是300,那么a就是300的别名,所以我们可以说a原创 2020-09-24 07:25:07 · 448 阅读 · 1 评论