
c++/c
文章平均质量分 56
小梦_人生如戏
这个作者很懒,什么都没留下…
展开
-
C++ 容器适配器常用函数总结
C++标准库定义了三个顺序容器适配器:stack、queue和priority_queue。适配器是标准库中的一个通用的概念。容器、迭代器和函数都有适配器。 本质上,适配器是一种机制,能使某物的行为看起来像另外一种事物一样。一个容器适配器接受一种已有的容器类型,使其行为看起来像另外一种事物。例如:stack适配器接受一个顺序容器(array、forward_list除外),使其...原创 2020-04-08 16:55:35 · 326 阅读 · 0 评论 -
C++11 基础之多线程二
四、future和promise C++11创建了线程之后,我们不能直接从thread.joid()获取结果,C++11提供了future来获取异步操作的结果。这个结果是不能立即获取的,会在未来的某个时间内进行获取。而future和和promise的作用就是在线程之间传递数据。#include <future>void test_pro(promise<str...原创 2020-04-06 11:02:45 · 355 阅读 · 0 评论 -
C++ 11 基础之多线程一
C++11 增加了对多线程的支持,是多线程编程变得简单、易用。一、线程的创建#include <string>#include <thread>//用于时间延时 获取时间#include <chrono>#include <iostream>using namespace std;void test_create...原创 2020-04-04 17:43:21 · 161 阅读 · 0 评论 -
C++ 基础之string
一、string概述 string是一个字符串的类,它集成的操作函数足以完成大多数情况下的需要。我们甚至可以把它当作C++的基本数据类型。 头文件:#include <string> 注意:string.h和cstring都不是string类的头文件。这两个头文件主要定义C风格字符串操作的一些方法,如strcpy() 、strlen()等。string.h...原创 2020-04-02 11:43:23 · 494 阅读 · 0 评论 -
C++容器基础之vector
一、vector概述 vector是线性容器,元素按照线性顺序排序,容器中元素存储在一块连续的内存中,类似与数组,不过vector可以自动增长或缩小存储空间。 与数组相比:在自动处理容量的大小时会消耗更多的内存,当时vector可以提供和数组一样的性能,并且可以很好的调整存储空间的大小。 和其他标准的顺序容器相比:vector可以更有效的访问容器内元素,和在末尾添加、删...原创 2020-04-01 16:09:05 · 422 阅读 · 0 评论 -
C++容器基础之map详解
一、概述1、是什么 map是一类关联式容器,关联的本质在于元素值与某个特定的键相关联。增删节点对迭代器影响很小,对于迭代器而言,不可修改键,只能修改其对应的值。map内部自建一棵红黑树,对内部元素有自动排序的功能。 红黑树:一种二叉查找树,此外在每个节点上增加一个存储位表示节点的颜色,可以是red,也可以是black。通过对一条从根到叶子节点的路径上各个节点着色方式的限制,...原创 2020-03-31 11:15:55 · 396 阅读 · 0 评论 -
C++面试系列之 set详解
容器之set详解一、set概述原创 2020-03-30 21:08:02 · 1439 阅读 · 0 评论 -
C++ lambda表达式
lambda简介 一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个无名的内联函数。lambda表达式形式如下: [捕获列表] (参数列表)-> 返回值类型 {函数体} 捕获列表是一个lambda所在函数中定义的局部变量的列表(通常为空),与普通函数不同,lambda必须使用尾置返回来指定返回类型。参数列表和返回类型可以省略,但是必须包含捕获...原创 2019-08-01 16:22:22 · 231 阅读 · 0 评论 -
C++ 中static关键字总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#inclu...转载 2019-08-02 15:47:30 · 230 阅读 · 0 评论 -
C++往string数据前添加四个字节的首部表示数据长度
采用移位的形式实现:int realLength = dataLength + sizeof(int);//dataLength是数据的长度char *sendData = new char[realLength];//sendData是最后得到的数据 memset(sendData, 0, realLength*sizeof(char));//sendData初始化int num原创 2018-01-07 08:16:47 · 1372 阅读 · 0 评论 -
Linux下C++动态库
本人是刚毕业的大学生一枚,这是写的第一篇博客,若有不对的地方,恳请指正!由于工作原因,不得已在Linux下开发项目,而且还是用C++,对于C++,本人是有一些白痴的。项目完成,在此做一下总结,给自己一个交代。首先先对动态库方面的只是做一个总结 1、动态库的简单介绍 首先,动态库就是动态链接库,本人有些懒,一下都成为动态库。在Linux下,动原创 2017-01-25 15:00:32 · 507 阅读 · 0 评论