BlackCarDriver
码龄4年
  • 111,215
    被访问
  • 95
    原创
  • 1,464,392
    排名
  • 58
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2018-02-02
博客简介:

BlackCarDriver的博客

查看详细资料
个人成就
  • 获得85次点赞
  • 内容获得37次评论
  • 获得464次收藏
创作历程
  • 14篇
    2020年
  • 83篇
    2019年
成就勋章
TA的专栏
  • C++ 11新特征
    8篇
  • Go
    12篇
  • C++
    23篇
  • Angular
    4篇
  • Nginx
    3篇
  • Docker
    2篇
  • Jenkins
    1篇
  • Linux
    4篇
  • PAT
    18篇
  • Java
    3篇
  • 数据结构与算法
    32篇
  • 趣味编程
    4篇
  • 数据库
    4篇
  • 工具
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++11 多线程

本文讨论C++11 中如何创建和使用多线程,以及如何解决资源进程、数据同步等问题。C++ 11 多线程文章目录C++ 11 多线程创建和使用线程连接和分离线程关于参数传递数据竞争问题与解决顺序控制线程返回值std::asyncstd::packaged_task注意事项创建和使用线程在C ++ 11中,我们可以通过创建std :: thread类的对象来创建其他线程。每个std :: th...
原创
发布博客 2020.04.19 ·
344 阅读 ·
0 点赞 ·
0 评论

四则运算表达式求值

本文将讨论什么是运算表达式,如何用代码实现中缀表达式转后缀表达式、前缀表达式,以及对后缀表达式的求值。
原创
发布博客 2020.04.16 ·
418 阅读 ·
0 点赞 ·
0 评论

C++11智能指针

C++11智能指针本文将讨论C++ 11 中的智能指针,如何使用以及注意事项。share_ptrshared_ptr是c ++ 11提供的一种Smart Pointer类,它能够在不再被引用的时候自动释放内存,从而帮助我们消除内存泄漏和指针悬空的问题。shared_ptr 对象内部指向两个内存,分别是目标对象的内存以及一个引用计数器。当shared_ptr关联到一个指针时,它会让引用计数器加...
原创
发布博客 2020.04.15 ·
315 阅读 ·
0 点赞 ·
0 评论

C++元组 - tuple

本文讨论什么是std::tuple以及其使用方法。std::tuplestd :: tuple是可以将一至多个类型绑定在一起的类型。创建元组对象时,需要将元素的类型指定为模板参数。我们可以从函数中返回该元组对象,它可以帮助我们从一个函数返回多个值从而避免创建不必要的结构。创建元组示例声明一个tuple,它是是个int,char,string的集合tuple<int, char,...
原创
发布博客 2020.04.14 ·
395 阅读 ·
0 点赞 ·
0 评论

关于 C++11 Lambdas

Lambdas本文将介绍什么是Lambdas函数及如何使用Lambdas函数。什么是Lambdas函数Lambda函数是C ++中的一种匿名函数,主要用作C ++中的回调,它主要在我们必须创建非常小的函数以作为回调传递给另一个API时使用。使用场景和示例假设现在我有一个整数数组,我想遍历此数组并使用STL算法for_each打印所有元素。首先让我们使用函数指针来做到这一点,void ...
原创
发布博客 2020.04.13 ·
312 阅读 ·
0 点赞 ·
0 评论

可变参数模板

可变参数模板C++11引进了一个新功能:Variadic Template Function (可变参数模板)。通过可变参数模板,我们可以创建出接受任意类型、任意个数参数的函数。如何使用一个声明可变参数模板的简单例子:template<typename T, typename ... Args>void log(T first, Args ... args);上面的函数可...
原创
发布博客 2020.04.12 ·
304 阅读 ·
0 点赞 ·
0 评论

关于 auto

关于 autoC++11 中引进了auto。auto 即自动类型,可以让我们声明一个变量而无需指定其类型,类型会根据初始值而被确定。下文介绍如何使用auto以及一些注意事项。如何使用一个简单的例子:auto var_1 = 5;auto var_2 = 'C';cout << typeid(var_1).name() << endl; //intcout &l...
原创
发布博客 2020.04.12 ·
271 阅读 ·
0 点赞 ·
0 评论

关于std::bind

关于 std::bindstd::bind C++ 11 的一个新函数,返回值为一个函数对象,可以看作一个通用的函数适配器。它接受一个函数作为参数,并返回一个新的函数同时将一至多个参数绑定到返回的函数中。下文的内容包括如何使用bind 以及什么时候使用bind。如何使用假如我们已经有一个函数:int add(int a, int b){ return a + b;}bind将一个函...
原创
发布博客 2020.04.11 ·
258 阅读 ·
0 点赞 ·
0 评论

Delete 关键字新特性

Delete 关键字新特性在C ++ 11中,引入了关键字delete的新功能。我们可以将delete关键字应用于限制函数的使用。下文将演示以下常见的使用场景:应用于编译器自动生成的函数以禁止使用特定的操作(如复制,比较)应用在成员函数上防止数据类型转换时导致数据丢失应用在new运算符上来限制堆上对象的创建应用在模板类上来限制创建特定的类实例禁用复制构造函数和赋值运算符我们可...
原创
发布博客 2020.04.10 ·
397 阅读 ·
0 点赞 ·
0 评论

二进制乘除法运算原理

二进制乘除法原理计算机所能完成的最基本操作是加减法和左右移。虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令。二进制乘法假设不能使用乘除运算求a×b的结果,当a=b=123时,最直接的方法是通过88个88相加。但是,我们不难发现这样的规律:123 × 123 = (100+20+3)×123 = (100×123) + (20 × 123) + (3 ...
原创
发布博客 2020.04.01 ·
11695 阅读 ·
14 点赞 ·
1 评论

经典排序算法复习

十大经典排序算法备忘录本博客用于快速复习几种简单排序算法。这些算法虽然经典,但是都很简单,只要明白其思想和原理,都能很快写出来。关键是要把握好一些细节之处,例如循环边界等。代码#pragma warning(disable : 4996)#include<iostream>#include<vector>#include<algorithm>#...
原创
发布博客 2020.03.08 ·
306 阅读 ·
0 点赞 ·
0 评论

最短路之Bellman-ford 算法

Bellman-ford 算法算法摘要作用:单源有向图上求最短路特点:能适应负权边的情况思想:动态规划时间复杂度: O(点数×变数)原理:对所有的边进行n-1轮松弛操作,(n个顶点的图中,任意两点之间的路径最多包含n-1边)注意事项:需要判断是否产生负权回路 (再对边进行一次内部循环,如果还有可以松弛的点,说明有负权回路)c++代码#include<iostream>...
原创
发布博客 2020.03.06 ·
196 阅读 ·
1 点赞 ·
0 评论

STL常用函数应用举例

STL常用函数应用举例备忘录只要明白函数的作用,一般即可以联想到其参数。像unique(), remove()这类的函数需要注意,对容器进行操作后不会改变原有的元素个数,可以通过函数返回的迭代器进行下一步操作。对于一些会改变元素个数的操作,如merger(),结果需要放到一个新的容器里面,并且传参时仅需开始迭代器。对于copy类函数:存放结果的容器串传参时只需开始迭代器;...
原创
发布博客 2020.03.04 ·
220 阅读 ·
1 点赞 ·
0 评论

C++堆排序模板

C++堆排序模板#pragma warning(disable : 4996)#include<iostream>#include<vector>#define ARRAY vector<int> //下标从0开始有效using namespace std;//调整最大堆(升序)void heapAdjust(ARRAY *ary, int r...
原创
发布博客 2020.03.03 ·
208 阅读 ·
1 点赞 ·
0 评论

计算机操作系统笔记

计算机操作系统总笔记文章目录计算机操作系统总笔记引论语录操作系统的目标和作用操作系统的发展过程操作系统的基本特征操作系统的主要功能进程的描述与控制前趋图和程序执行进程的描述进程控制进程同步经典进程的同步问题进程通信线程的基本概念线程的实现处理机的调度和死锁处理机调度的层次和调度算法的目标作业和作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检查与解除存储器管理存储器的层次结构程序的装入和链...
原创
发布博客 2019.12.28 ·
895 阅读 ·
6 点赞 ·
0 评论

c++保存 vector 到文件

c++ 保存 vector 到文件实现将vector中的数据保存到二进制文件和从文件中读取数据并还原vector并不难,关键是要把握好一些小细节背后的原理,以及确定好存储的格式。确定格式跟网络通信中的通信协议非常相似,只用存取双方都依照协议行事,才能完成完整步骤。以下代码提供例子,仅供参考:#include<iostream>#include<stdio.h>#in...
原创
发布博客 2019.12.24 ·
4785 阅读 ·
7 点赞 ·
1 评论

磁盘调度算法

磁盘调度算法本文内容用c++写了一个简单的控制台程序用来演示几种调度算法的磁头移动过程, 包括:先来先服务法(First-Come, First-Served,FCFS)。最短寻道时间优先法(Shortest Seek Time First, SSTF)。电梯法。知识点先来先服务算法(FCFS )First Come First Service特点:一种简单的磁盘调度算法。根...
原创
发布博客 2019.12.07 ·
458 阅读 ·
1 点赞 ·
5 评论

QT中引入WinPcap

在Qt项目中使用Winpcap注意需要做以下(包括但不限于)前期准备:1.修改.pro文件,例如:INCLUDEPATH += D:/WorkPlace/C++WorkPlace/Library/WpdPack/IncludeLIBS += "-LD:/WorkPlace/C++WorkPlace/Library/WpdPack/Lib" -lwpcap -lws2_32DEFINES ...
原创
发布博客 2019.12.04 ·
566 阅读 ·
0 点赞 ·
0 评论

银行家算法

银行家算法银行家算法主要用于避免死锁。原理是进行资源分配之前先计算资源分配的安全性,分配不会导致系统进入不安全状态,则将资源分配给进程。否则让进程等待。注意该算法的核心是安全性的判断:可以理解成一个闯关游戏,若主角的攻击力、防御力、(剩余资源数量)全部都高于某个敌人对应的攻击力、防御力(对应的请求资源的数量), 则主角可以打败这个怪兽并全部获取怪兽的属性(分配和回收资源),若主角可以在这个规则下...
原创
发布博客 2019.11.23 ·
679 阅读 ·
0 点赞 ·
0 评论

ubuntu搭建FTP服务器

FTP服务搭建和使用ubutu搭建FTP服务安装ftp程序sudo apt-get install vsftpd安装后可以通过sudo service vsftpd restart 启动以及来判断程序是否安装成功。前期准备创建ftp工作目录mkdir /home/ubuntu/workplace/ftpShare为工作目录创建或指定一个特定的用户,如public...
原创
发布博客 2019.11.16 ·
280 阅读 ·
0 点赞 ·
0 评论
加载更多