E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
C++11自旋锁
掌握
C++11
标准库(STL):理解STL的核心概念
深入探索
C++11
标准库STL:新特性和优化技巧一、前言二、容器简介三、迭代器简介四、map与unordered_map(红黑树VS哈希表)4.1、map和unordered_map的差别4.2、优缺点以及适用处
Lion Long
·
2024-01-01 12:48
Linux后台开发技术
c++
开发语言
stl
容器
C++11
linux
服务器
【数据结构与算法】字符串匹配(头歌习题)【合集】
字符串匹配任务描述相关知识编程要求评测说明完整代码第3关:【模板】KMP算法任务描述相关知识C++STL容器string1、string的定义2、string中内容的访问3、string常用函数实例解析4、C语言中将字符串转换为数值的函数5、
C+
剑心诀
·
2024-01-01 06:31
数据结构(C语言)
算法
数据结构
c语言
envoy启动过程
C++14Envoy是使用C++14开发的,先简单了解一下C++14是有必要的,C++14在2015年12月15日正式发布,取代了2011年发布的
C++11
。
程序员札记
·
2023-12-31 22:50
《深入理解
C++11
:
C++11
新特性解析与应用》笔记六
例如:
c++11
使用constexpr关键字声明常量表达式,不仅限于函数,也可以作用于数据声明,以及类的构造函数。6.1.2常量表达式函数在函数返回类型前加入关键字cons
Mamong
·
2023-12-31 22:33
笔记
《深入理解
C++11
:
C++11
新特性解析与应用》笔记七
第七章为改变思考方式而改变7.1指针空值--nullptr7.1.1指针空值:从0到NULL,再到nullptr传统C头文件里NULL是一个宏定义:在函数重载同时出现int和char*参数版本的函数时,使用NULL作为参数调用函数会调用int参数版本,而不是我们想要的char*参数版本。引起该问的元凶是字面常量0的二义性,既可以是一个整型,也可以是一个无类型指针void*。除非对字面常量0进行强制
Mamong
·
2023-12-31 22:03
c++
笔记
开发语言
Hbase 的三个应用
Hbase的三个应用分布式
自旋锁
。分布式的唯一序列号分布式系统黑名单分布式
自旋锁
是一种在分布式系统中用于实现并发控制的锁机制。
bluedraam_pp
·
2023-12-31 21:17
实时计算
hbase
数据库
大数据
C++11
特性:多线程异步操作
1.std::futureC++11中增加的线程类,使得我们能够非常方便的创建和使用线程,但有时会有些不方便,比如需要获取线程返回的结果,就不能通过join()得到结果,只能通过一些额外手段获得,比如:定义一个全局变量,在子线程中赋值,在主线程中读这个变量的值,整个过程比较繁琐。C++提供的线程库中提供了一些类用于访问异步操作的结果。那么,什么叫做异步呢?我们去星巴克买咖啡,因为都是现磨的,所以需
想不出来_6
·
2023-12-31 16:16
开发语言
c++
笔记
C++11
特性:原子变量
C++11
提供了一个原子类型std::atomic,通过这个原子类型管理的内部变量就可以称之为原子变量,我们可以给原子类型指定bool、char、int、long、指针等类型作为模板参数(不支持浮点类型和复合类型
想不出来_6
·
2023-12-31 16:16
开发语言
c++
笔记
c++11
右值引用 异常
c++11
列表初始化structPoint{int_x;int_y;};intmain(){intarray1[]={1,2,3,4,5};intarray2[5]={0};Pointp={1,2};/
高高__
·
2023-12-31 12:13
c++
c语言
开发语言
C++版本发展简史:新特性介绍
C++从最初的Cwithclass,经历了从C++98、C++03、
C++11
、C++14、C++17再到C++20多次标准化改造,功能得到了极大的丰富,已经演变为一门集面向过程、面向对象、函数式、泛型和元编程等多种编程范式的复杂编程
欧特克_Glodon
·
2023-12-31 12:11
C++每日一问
c++
c语言
C++11
文章目录C++111.C++11简介2.统一的列表初始化2.1{}初始化2.2std::initializer_list3.声明3.1auto3.2decltype3.3nullptr4.STL中一些变化5.右值引用和移动语义(重点)5.1左值引用与右值引用5.1.1左值与左值引用5.1.2右值与右值引用5.1.3左值引用与右值引用比较5.2右值引用的作用5.2.1左值引用的短板5.2.2右值引用
Ryujianli
·
2023-12-31 12:40
C++
c++
C++11
中的实用语法
文章目录一、
C++11
简介二、列表初始化三、变量类型推导1为什么需要类型推导2decltype类型推导四、STL中的一些变化1array2forward_list3cbegin和cend五、右值引用1左值和右值
魔术师的徒弟
·
2023-12-31 12:09
C/C++学习
c++
开发语言
C++11
特性
目录
C++11
简介{}初始化std::initializer_listautodecltypenullptr范围for循环C++98的循环方式:
C++11
的范围遍历:智能指针1.为什么需要智能指针?
Obto-
·
2023-12-31 12:39
c++
c++
c语言
线程库和异常
`mutex``timed_mutex`两个重要的锁问题`lock_guard``unique_lock`异常传统处理异常概念异常使用异常的重新抛出与安全异常规范异常体系异常的优缺点优点缺点线程概念在
C+
bfsm
·
2023-12-31 12:09
知识总结——C++进阶
c++
多线程
线程库
异常
C++面向对象(OOP)编程-
C++11
新特性详解
C++11
作为一个重要的版本,引入了很多新的特性,解决了C++语言本身很多遗留的内存泄露问题,并且提供了很多比较灵活的用法。
发狂的小花
·
2023-12-31 07:48
C/C++精进之路
c++
开发语言
C++11新特性
并发
泛型编程
深入理解 C++ 右值引用和移动语义:全面解析
C++11
引入了右值引用,它也是
C++11
最重要的新特性之一。原因在于它解决了C++的一大历史遗留问题,即消除了很多场景下的不必要的额外开销。
小万哥丶
·
2023-12-31 03:50
C/C++
后端开发
软件工程
程序人生
编程语言
开源
Linux
自旋锁
自旋锁
指的是线程在为获取到许可的情况下循环获取许可状态实现TAS(TestAndSetLock)publicclassTASLockimplementsLock{//初始值为false;privateAtomicBooleanmutex
策马踏清风
·
2023-12-30 21:31
《深入理解
C++11
:
C++11
新特性解析与应用》笔记五
第五章提高类型安全5.1强类型枚举5.1.1枚举:分门别类与数值的名字具名枚举类型一般声明类似:enumGender{Male,Female}。匿名枚举类型可以使用三种方式实现:第一种方式时宏,比如#defineMale0#defineFemale1宏的弱点在于其定义的知识预处理阶段的名字,会干扰正常代码。第二种方式时匿名的enum,比如enum{Male,Female};c++中更受推荐的是第三
Mamong
·
2023-12-30 19:55
笔记
C/C++常见面试题整理
尤其是
C++11
,C++14,C++17越来越丰富了C++语言。C++修炼要比Java及C#要长。一步一步来吧。总结的答案不一定都对,一定自己去使用VS实践一把,才能领会。
26a058e669f9
·
2023-12-30 16:45
自己动手写
自旋锁
自旋锁
以其高效闻名。顾名思义,自旋即如果无法成功锁住锁资源则会一直循环尝试锁,这与互斥锁的行为较为不同(互斥锁如果无法锁住则会挂起等待)。
码哥比特
·
2023-12-30 13:18
c语言
linux
经验分享
程序人生
学习
服务器
后端
【C++】map和set
插入接口5.map的介绍接口insert接口operator[]6.multiset7.multimap8.map和set相关OJ1.关联式容器vector、list、deque、forward_list(
C+
慢慢走,慢慢等
·
2023-12-30 13:09
C++
c++
开发语言
【
C++11
】lambda表达式及包装器
一.lambda表达式1.可调用对象可调用对象即可以像函数一样被调用的对象,有以下三种:函数(指针)仿函数对象lambda表达式tips:调用函数时,既可以用函数名,也可以用函数地址,因为函数名和函数地址是一回事。2.lambda表达式格式[捕捉列表](参数列表)mutable->返回值类型{函数体}捕捉列表不能省略,即使它为空参数列表为空时可以省略,但是有mutable时不能省略mutable用
月夜星辉雪
·
2023-12-30 10:25
c++
java
前端
后端
【
C++11
】右值引用与移动语义
一.左值与右值左值:可以取地址的表示数据的表达式,左值可以出现在赋值符号左边右值:不能取地址的表示数据的表达式,右值不能出现在赋值符号左边intfun(){return0;}intmain(){inta=0;//a->左值constintb=1;//b->左值int*p=&a;//*p->左值a+b;//右值func();//右值10;//右值}二.左值引用与右值引用左值引用:给左值取的别名,符号
月夜星辉雪
·
2023-12-30 10:25
算法
开发语言
c++
后端
C++之std::decay
1.简介std::decay是
C++11
之后引进的模板编程工具,它的主要作用是将给定的类型T转换为它的“衰变”类型。
十五年专注C++开发
·
2023-12-30 00:27
#C++进阶
c++
开发语言
std::unordered_map 简单使用
C++11之后的emplace初始化:赋值方式:1.使用operator[]进行赋值:2.使用insert函数:3.使用范围初始化:1.使用迭代器遍历:2.使用范围-basedfor循环遍历:3.使用
C+
telllong
·
2023-12-29 23:24
C++基础实战
C++新特性
哈希算法
散列表
算法
C++
开发语言
C++ enum class 如何使用
enumclass是
C++11
引入的一种新的枚举类型,它是对传统C风格的枚举的一种改进。enumclass提供了更强大的类型安全性和作用域限定。
telllong
·
2023-12-29 23:49
C++新特性
C++基础实战
c++
java
前端
【C++设计模式 -- 单例(Singleton)模式】
模式单例模式什么是单例模式单例模式的特点为什么要使用单例模式单例模式的缺点单例模式实现懒汉式(LazyInitialization)方式(不安全)双重检查锁(Double-CheckedLocking)(线程安全)局部静态变量(线程安全)通过std::call_once创建(
C+
Holy meat
·
2023-12-29 19:09
c++
设计模式
单例模式
C++11
及上的原子操作底层原理与锁实现
原子变量与原子操作基础概念原子变量:一些基础的数据类型或指针加上原子组件。原子变量具有原子性。原子操作:对原子变量进行的操作就是原子操作。原子变量的原子性:对原子变量的操作进入到汇编后会对应好几个步骤,其他线程要么看到这些步骤都没开始,要么看到这些步骤都结束了。为什么要使用原子变量?多线程环境下,确保对共享变量的操作不会被干扰,从而避免竞态条件。如果是没有具有原子性的普通变量被多个线程去操作会如何
程韬123
·
2023-12-29 09:52
c++
linux
开发语言
汇编
c语言
分布式锁的原理解析与实现工具介绍
锁与IPC常见的锁:互斥锁、
自旋锁
、原子变量、读写锁、条件变量、信号量。IPC(进程间通信的方式):pipe、FIFO、信号量、消息队列、共性内存、socket、信号。
程韬123
·
2023-12-29 09:52
分布式
c++
linux
c语言
安全
C++(11):获得时间戳及时间
C++11
提供了chrono库,用于管理时间相关的操作及信息。
风静如云
·
2023-12-29 05:10
C/C++
c++
《深入理解
C++11
:
C++11
新特性解析与应用》笔记四
C++11
中,这种限制被取消了。事实上,
C++11
标准要求编译器智能地去判断在哪些情况下>>不是右移符号。4.2auto类型推导4.2.1静态类型、动态类型与类型推导
Mamong
·
2023-12-29 03:43
c++
笔记
java
ROS2 相对于 ROS1 做了哪些改动、有什么不同点
2.C++语言标准不同ROS1使用C++03标准,其API中不使用
C++11
功能。ROS2使用
C++11
标准,部分使用C++14功能。
背 锅 侠
·
2023-12-28 23:10
ROS
编程开发
机器人
arm开发
linux
C++11
条件变量condition_variable
文章目录前言正文等待通知注意事项结尾前言条件变量用于多线程中,其作用是在多线程间实现线程的等待、唤醒和通知机制,常配合互斥锁(std::mutex)一起使用。它主要用于解决数据竞争问题>。正文条件变量只有五个函数:方法作用notify_one()通知一个等待的线程notify_all()通知所有等待的线程wait()阻塞该线程,直到条件变量被唤醒wait_for()阻塞该线程,直到条件变量被唤醒或
默示MoS
·
2023-12-28 20:42
玩转C++
c++
服务器
C++11
原子操作atomic
文章目录原子操作atomic原子操作的相关函数原子操作的特点“平凡的”与“合格的”原子操作atomic前面我们介绍了互斥锁等一系列多线程相关操作,这里我们来说下原子操作atomic。可以理解为原子变量就是将上面的操作进行了整合的一个全新变量,但是实际上它的原理和互斥锁不一样,这关系到操作系统的底层,我也不了解。原子操作的相关函数方法作用is_lock_free检查原子对象是否免锁load原子地获得
默示MoS
·
2023-12-28 20:42
玩转C++
c++
开发语言
C++的移动语义和完美转发
参考《现代C++语言核心特性解析》移动语义
C++11
新特性的std::move()用于将一个左值转换为右值引用。它并不是实际移动或复制数据,而是通过将一个左值强制转换为一个右值引用来实现对对象的转移。
ACE叫牌
·
2023-12-28 18:44
C++11新特性
c++
开发语言
C++11
的lambda表达式
Lambda表达式是一种匿名函数,允许我们在不声明方法的情况下,直接定义函数。它是函数式编程的一种重要特性,常用于简化代码、优化程序结构和增强代码可读性。lambda表达式的语法非常简单,具体定义如下:[captures](params)specifiersexception->ret{body}举例:#includeintmain(){intx=3,y=4;autores=[x](inty)->
ACE叫牌
·
2023-12-28 18:11
C++11新特性
c++
开发语言
java多线程之CAS学习
他是一种乐观锁,也可以叫做
自旋锁
。就是通过号称不加锁的方式保证线程间的安全性的一种方式。与他相
书香码农大宝
·
2023-12-28 15:06
C++11
的列表初始化和右值引用
目录前言一、
C++11
的简介二、
C++11
的小故事。
kkbca
·
2023-12-28 11:03
c++
开发语言
C++11
lambda函数和包装器
目录前言一.lambda的引入二、lambda函数的使用1.一般使用2.引用三、包装器1.包装普通对象2.包装类成员对象3.bind前言学习过python的同学应该对lambda函数不陌生,这是一个匿名函数,不需要写函数的名字。在不会多地方调用某个简单函数的地方,就可以使用lambda。一.lambda的引入在学习lambda函数之前,我们来看一个用例。这是一些商品,我们需要对商品进行排序。str
kkbca
·
2023-12-28 10:56
c++
java
开发语言
C++中的左值,右值和移动语义详解
右值引用与移动语义是
C++11
中引入的两个重要概念,它们旨在提高代码的性能,尤其是在涉及到资源管理和对象转移的场景中。右值引用:右值引
hadiii
·
2023-12-28 00:19
c++
开发语言
笔记
对话面试官---自己实现
自旋锁
怎么实现?用Java代码
自旋锁
是一种基于循环重试的锁,当线程尝试获取锁时,如果锁已经被其他线程持有,该线程不会立即阻塞,而是循环等待一段时间,直到获取到锁为止。
什么什么啊啊啊
·
2023-12-28 00:47
对话面试官系列---知识集锦
java
开发语言
音视频基本概念
多线程好处充分利用cpu资源的工具多线程带来的问题多线程管理问题线程的互斥与同步互斥资源有限多个人去抢同步有序进行锁的种类读写锁读写分离
自旋锁
等待资源释放(例如)可重入锁SDL锁互斥锁SDL_CreateMutex
weixin_38432324
·
2023-12-27 17:08
java
jvm
开发语言
【新特性】C++STL容器和
C++11
新特性介绍(持续更新)
参考资料https://www.cnblogs.com/fusiwei/p/11823234.htmlC++STL容器和算法介绍1.C++的STL介绍STL⼀共提供六⼤组件,包括容器,算法,迭代器,仿函数,配接器和配置器,彼此可以组合套⽤。容器通过配置器取得数据存储空间,算法通过迭代器存取容器内容,仿函数可以协助算法完成不同的策略变化,配接器可以应⽤于容器、仿函数和迭代器。容器:各种数据结构,如v
CZ一星弱火
·
2023-12-27 14:30
#
c++新特性
算法
面试
c++
容器
C++11
多线程
前言:十分感谢字节在去年挂了我十几次的情况下,在我正式入职半年被裁了还愿意捞我一手,但是我一面就挂了,因为我不会C++多线程,我是傻逼,所以我痛定思痛,来学一手这个(这只是一方面因素,另一方面因素是现在上班好无聊啊,在摸鱼,顺手学点东西吧,一直看手机属实没啥看的,而且容易被抓包)对于一个啥也不会的人来学习一个新的知识点,那势必先百度(白嫖公司内网的我当然选择google),我目前所在的公司C++版
橙子小满
·
2023-12-27 10:17
笔记
c++
开发语言
linux内核死锁检测
二、Lockdep内核配置
自旋锁
与互斥锁在内核文件lib/Kconfig.debu
浪的不想起名字
·
2023-12-27 04:57
linux
算法
运维
原子操作实现
自旋锁
自旋锁
1.
自旋锁
(Spinlock)简介
自旋锁
是计算机科学中用于同步多个执行线程或进程的机制之一。与互斥锁(mutex)相似,
自旋锁
的目的也是为了防止多个线程同时访问临界资源。
故事还在继续吗
·
2023-12-26 20:42
C/C++
c语言
开发语言
【C++】lambda表达式语法详细解读(代码演示,要点解析)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.lambda表达式语法1)lambda
YY的秘密代码小屋
·
2023-12-26 15:44
YYの小小知识点
c++
java
windows
【C++】lambda解决个性化排序问题(对比仿函数)(代码演示)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.lambda解决个性化排序问题
YY的秘密代码小屋
·
2023-12-26 15:43
YYの小小知识点
c++
java
数据库
右值引用和移动语义(
C++11
)
左值引用和右值引用回顾引用我们之前就了解到了左值引用,首先我们要了解引用在编译器底层其实就是指针。具体来说,当声明引用时,编译器会在底层生成一个指针来表示引用,但在代码编写和使用时,我们可以像使用变量类似取别名的方式一样来操作引用,而不需要显式地使用指针符号。这使得引用更为方便,且看起来更直观,同时也能保证所获得的引用总是有效的。那什么是左值,什么又是右值呢??什么是左值与右值左值是表示数据的表达
高居沉
·
2023-12-26 09:00
C++基础知识
c++
开发语言
C++11
(上):新特性讲解
C++11
新特性讲解前言1.列表初始化1.1{}初始化1.2std::initializer_list2.类型推导2.1auto2.2typeid2.3decltype3.范围for4.STL的变化4.1
派小星233
·
2023-12-26 09:27
C++进阶
c++
开发语言
笔记
学习方法
经验分享
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他