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
新特性篇-using的使用
Using的使用using在
C++11
之前就有,但在
C++11
中引入了一些扩展和新的用法。
Liuuuu408
·
2023-11-26 23:51
c++
开发语言
移动语义和完美转发
移动语义和完美转发移动语义移动语义是
C++11
引入的一项特性,通过右值引用(RvalueReference)实现。
Liuuuu408
·
2023-11-26 23:50
开发语言
c++
c++11
新特性篇-列表初始化
列表初始化概述列表初始化是
C++11
引入的一个新特性。**它允许使用花括号{}来初始化变量、数组、结构体等。
Liuuuu408
·
2023-11-26 23:50
c++
算法
开发语言
c++11
新特性篇-可调用对象包装器, 绑定器
可调用对象包装器,绑定器可调用对象可调用对象是指在C++中能够像函数一样被调用的实体。它包括了多种类型的对象,使得它们能够像函数一样被调用,可以是函数、函数指针、函数对象、Lambda表达式等。在C++中,具有以下特征之一的实体都被认为是可调用对象:1.函数:常规的函数,包括全局函数和类的成员函数。voidregularFunction(intx){//...}2.函数指针:指向函数的指针。#in
Liuuuu408
·
2023-11-26 23:18
c++
算法
开发语言
C++11
的weak_ptr弱引用的智能指针
弱引用指针weak_ptr是用来监视shared_ptr的,不会使引用计数器加1,它不管理shared_ptr内部的指针,主要是为了监视shared_ptr的生命周期,更像是shared_ptr的一个助手。weak_ptr没有重载操作符*和->,因为它不共享指针,不能操作资源,主要是为了通过shared_ptr获得资源的监测权,它的构造函数不会增加引用计数,它的析构不会减少引用计数,纯粹只是作为一
铲灰
·
2023-11-26 22:03
深入应用C++11
c++
开发语言
C++11
的unique_ptr独占的智能指针
unique_ptr是一个独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另外一个unique_ptr。下面这样是错误的:unique_ptrmyPtr(newT);unique_ptrmyOtherPtr=myPtr;///错误,不能复制unique_ptr不允许复制,但可以通过函数返回给其他的unique_ptr,还可以通过std::mo
铲灰
·
2023-11-26 22:33
深入应用C++11
c++
开发语言
C++11
的shared_ptr共享的智能指针
智能指针是存储指向动态分配(堆)对象指针的类。用于生存期控制,能够确保在离开指针所在作用域时,自动正确的销毁动态分配的对象,防止内存泄漏。它的一种通用实现技术是使用引用计数。美使用它一次,内部的引用计数加1,每析构一次,内部引用计数减1,减为0时,删除所指向的堆内存。shared_ptr共享的智能指针std::shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。在最
铲灰
·
2023-11-26 22:32
深入应用C++11
c++
开发语言
算法
C++11
的线程
线程的创建用std::thread创建线程非常简单,只需要提供线程函数或者线程对象即可,并可以同时指定线程函数的参数。下面是创建线程的示例:#include#includeusingnamespacestd;voidfunc(){cout#include#includeusingnamespacestd;voidfunc(){cout#include#include#includeusingnam
铲灰
·
2023-11-26 22:31
深入应用C++11
开发语言
c++
【
C++11
】nullptr关键字使用详解
系列文章目录
C++11
新特性使用详解-持续更新https://blog.csdn.net/xiaofeizai1116/category_12498334.html文章目录系列文章目录一、简介二、引入nullptr
小飞1116
·
2023-11-26 22:01
C++11
c++
开发语言
C++复制构造函数和移动构造函数的性能速度对比
一、对比
C++11
中引入了移动语义,用在资源频繁拷贝的地方。通过移动构造函数可以减少不必要的复制,带来性能上的提升。下面我们通过代码比较复制(拷贝)构造函数和移动构造函数的性能(速度)。
cuijiecheng2018
·
2023-11-26 22:29
C++
c++
C++拷贝构造函数与移动构造函数
在
C++11
标准之前,如果想用其它对象初始化一个同类的新对象,只能借助类中的拷贝构造函数。拷贝构造函数的实现原理是为新对象复制一份和其它对象一模一样的数据。
guobaoteacher
·
2023-11-26 22:59
C++
c++
开发语言
C++11
C++11
一切皆可列表初始化变量列表初始化自定义类型列表初始化structPoint{int_x;int_y;};intmain(){Pointp{1,2};return0;}数组列表初始化日期类列表初始化
孙鹏宇.
·
2023-11-26 21:37
c++
算法
开发语言
测量C++程序运行时间
C风格在C程序和
C++11
以前的C++程序中,测量程序运行时间一般使用clock函数和CLOCKS_PER_SEC常量,定义在中。
金色888
·
2023-11-26 20:51
C++11
新特性总结
C++11
的新特性1变量和基本类型1.1longlong类型扩展精度浮点数,10位有效数字1.2列表初始化初始化的几种不同形式,其中用花括号来初始化变量称为列表初始化;比如:inti=0;inti={0
zdy0_2004
·
2023-11-26 17:02
C++
c++
C++11
的新特性
转自:http://www.cnblogs.com/George1994/p/6684989.htmlC++11的新特性1变量和基本类型1.1longlong类型扩展精度浮点数,10位有效数字1.2列表初始化初始化的几种不同形式,其中用花括号来初始化变量称为列表初始化;比如:inti=0;inti={0};inti{0};inti(0);需要注意的是,当用于内置类型的变量时,这种初始化形式有一个重
xuchenhuics
·
2023-11-26 17:32
Modern C++ 变量声明与定义总结:auto,{},initializer_list与构造函数重载
自
C++11
/14标准推出后,C++变量声明与定义的方式也发生了一些改变,增加了一些更为现代化,并且不会引起歧义的设施。
WeiChen_PKU
·
2023-11-26 17:01
Modern
C++
《Effective Modern C++》读书笔记(1) -- 模板类型推导(template type deduction)
前段时间看了《EffectiveModernC++》这本书,收获颇多,书中讲解了许多
C++11
/14的特性,都是之前不太了解或者模糊的,看了之后茅塞顿开,强烈建议C++学习者看一看。
Xefvan
·
2023-11-26 17:01
C/C++
c++
template
Effective Modern C++:01类型推导
C++的官方钦定版本,都是以ISO标准被接受的年份命名,分别是C++98,C++03,
C++11
,C++14,C++17,C++20等。
C++11
及其后续版本统称为ModernC++。
weixin_30566111
·
2023-11-26 17:01
c/c++
数据结构与算法
c++学习之哈希
开放定址法方法二:闭散列:哈希桶/拉链法4.哈希表的封装哈希表封装后unordered_map简单封装unordered_set简单封装1.关于unordered系列关联式容器在unordered系列关联式容器是
C+
万众☆倾倒
·
2023-11-26 16:44
c++
学习
哈希算法
java中的锁(一)(Synchronized)
JAVA中的锁乐观锁悲观锁
自旋锁
synchronized(原子性、可见性、有序性、可重入性)Synchronized底层原理 JAVA中的锁主要用于保障多线程中数据的一致性。
desord
·
2023-11-26 09:18
笔记
java
synchronized原理和优化过程
1.3有序性1.4可重入二、synchronized的用法2.1修饰方法修饰静态方法2.2修饰代码块三、synchronized的特点四、synchronized加锁的工作过程4.1偏向锁4.2轻量级锁(
自旋锁
陌上 烟雨齐
·
2023-11-26 09:17
学习
笔记
jvm
经验分享
Java多线程进阶:锁策略、CAS和Synchronized的精髓解析与优化
目录1.锁策略乐观锁和悲观锁读写锁重量级锁和轻量级锁
自旋锁
和挂起等待锁公平锁和非公平锁可重入锁和不可重入锁CAS什么是CAS?CAS是怎么实现的CAS有哪些应用?
马可波罗.
·
2023-11-26 09:15
JavaEE
多线程
java
jvm
开发语言
后端
锁策略以及CAS和Synchronized的优化过程
目录锁策略(lockingstrategy)乐观锁/悲观锁悲观锁:乐观锁:读写锁(readers-writelock)重量级锁VS轻量级锁
自旋锁
(SpinLock)可重入锁VS不可重入锁synchronized
Lzm_0.0
·
2023-11-26 09:15
多线程
java技术
锁
java
jvm
synchronized特点, 加锁过程, 优化操作
(自适应)实现轻量级锁的时候大概率用到的
自旋锁
策略是一种不公平锁是一种可重入锁不是读写锁2.加锁过程代码中写了一个synchronized之后,可能会产生
是布谷阿
·
2023-11-26 09:11
Javaee
开发语言
java
C发展史: K&R C/C89/C99/C11 以及 C++发展史: C++98/C++03/
C++11
C语言的发展阶段C语言之所以命名为C,是因为C语言源自KenThompson发明的B语言,而B语言则源自BCPL语言。1967年,剑桥大学的MartinRichards对CPL语言进行了简化,于是产生了BCPL(BasicCombinedProgrammingLanguage)语言。20世纪60年代,美国AT&T公司贝尔实验室(AT&TBellLaboratory)的研究员KenThompson闲
牛奶加啡咖
·
2023-11-26 03:26
C/C++基础学
C++
C++模板知识小结
模板的知识点通常会涉及到模板的基本概念、模板的使用、模板元编程和一些与模板相关的
C++11
及以后的新特性。
ArcherZTL
·
2023-11-26 02:56
c++
1024程序员节
C++之unordered_map/set的使用
提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到log2N,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想.最好的查询是,进行很少的比较次数就能够将元素找到,因此在
C+
萤火夜
·
2023-11-25 22:54
c++
开发语言
[
C++11
]析构函数中std::thread::join()卡住无法退出
join()卡住分析直接原因:与mainthread退出时候发生死锁。main结束时候-->CRTlocktable.lock-->~-->join等待其他线程退出其他线程结束时候->等待main释放CRTlocktable.lock-->与main线程死锁上面的问题在vs2015中不存在了。其实是输出log导致的。比较奇怪线程函数中加入log输出为什么会导致std::thread::join()
文森88
·
2023-11-25 20:42
语言基础
线程
C++进阶 —— 列表初始化(
C++11
新特性)
列表初始化二,类列表初始化三,类模板列表初始化库模板初始化列表实现模拟模板初始化列表实现在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为
C+
挨代码
·
2023-11-25 07:05
#
C++
编程语言
c++
C++列表初始化
structPoint{int_x;int_y;};intmain(){intarray1[]={1,2,3,4,5};intarray2[5]={0};Pointp={1,2};return0;}而
C+
limou3434
·
2023-11-25 07:33
C++学习笔记
c++
开发语言
从
自旋锁
、睡眠锁、读写锁到 Linux RCU 机制讲解
共享数据结构的一致性(为什么要做锁?)对于shareddatastructure,需要保证读写的criticalsection时具备consistency,特别是读的时候,不希望读到一个不完整的数据或者数据结构的不完整的结构.比如一个链表在多个线程的读写过程中可能会出现的混乱的指针。单核本来就没有并行(谁需要锁?)先谈论singlecore的情况,我们只需要通过关中断就可以实现sequential
狂徒_张三
·
2023-11-25 04:06
CCCCCCC指针CCCCC
程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,
C++11
中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(
lusic01
·
2023-11-24 22:20
java
jvm
开发语言
Java 多线程之 CAS(Compare and Set),实现无锁优化,
自旋锁
/乐观锁
文章目录一、概述二、JDK的Unsafe类三、ABA问题一、概述CAS(CompareandSwap)是一种并发编程中的原子操作(synchronized也使用了CAS),用于实现多线程环境下的同步和数据共享。CAS提供了一种高效的并发控制机制,可以避免传统锁机制的开销和问题。CAS操作包括三个操作数:内存位置(通常是共享的变量)、旧的预期值和新的值。CAS操作会先比较内存位置上的值与旧的预期值是
QIFU
·
2023-11-24 20:06
#
Java
多线程
java
开发语言
多线程
4.并发中的各种锁概念
目录概述锁分类按上锁方式划分按特性划分悲观锁/乐观锁重入锁/不可重入锁公平锁/非公平锁独享锁/共享锁其它
自旋锁
分段锁无锁/偏向锁/轻量级锁/重量级锁结束概述java锁分类,虽是概念,很常见。
流月up
·
2023-11-24 18:08
并发编程
并发
各种锁概念
总结
C++进阶篇5-哈希
最优的查询是,进行很少的比较次数就能够将元素找到,因此在
C++11
中,STL又提供了4个unordered系列的关联式容器(unordered_set/unordered_multiset/u
竹下为生
·
2023-11-24 18:24
c++
哈希算法
开发语言
C++11
智能指针shared_ptr,weak_ptr以及循环引用的问题
1.智能指针通常内存管理中存在以下问题:重复析构(释放)同一块内存导致程序运行崩溃例如,如果类中有指针成员,浅拷贝造成两个对象的指针成员指向同一个内存。当程序运行结束,一块内存被析构了两次。有些资源的内存被释放,但是其指针并未被修改指向。voidtest(){int*dp=newint[10];deletedp[];//忘记添加dp=nullptr;}上面这种情况导致后续万一在该函数使用了dp指针
来自比邻星
·
2023-11-24 16:53
C++
c++
c语言
智能指针
循环引用
015-类型转换和
C++11
新特性
《C++文章汇总》上一篇介绍了《014-模板、自定义动态数组》,本文介绍类型转换。1.类型转换◼C语言风格的类型转换符(type)expressiontype(expression)intmain(){inta=10;doubled=static_cast(a);//隐式转换//doubled=a;//显式转换//doubled=(double)a;//doublee=double(a);getc
一亩三分甜
·
2023-11-24 14:22
深入解析ReentrantReadWriteLock
能够大大的提高并发性和吞吐量ReentrantReadWriteLock介绍读写锁是一种特殊的
自旋锁
。
weixin_30335353
·
2023-11-24 08:40
C++11
引入的新的构造函数和语言特性
typerightbyThomasAlan光风霁月023.XDU1.默认构造函数:没有任何参数的构造函数,可以用于创建对象。例如:classMyClass{public:MyClass(){std::coutname=name;}Person(stringname,intage):Person(name){//委托构造函数this->age=age;}private:stringname;inta
光风霁月023
·
2023-11-24 08:56
CmakeLists.txt 文件内容详细讲解
转自:https://blog.csdn.net/qq_21950671/article/details/102660518声明cmake最低版本声明cmake工程名字设置cmake编译模式添加
c++11
一切归于平静
·
2023-11-24 07:22
Qt/QML编程学习之心得:一个Qt工程的学习笔记(九)
1、.pro文件加CONFIG+=
c++11
,才可以使用Lamda表达式(一般用于connect的内嵌槽函数)2、QWidget这是Qt新增加的一个类,基类,窗口类,QMainWindow和QDialog
芯片-嵌入式
·
2023-11-24 06:05
qt
学习
开发语言
C++11
『lambda表达式 ‖ 线程库 ‖ 包装器』
✨个人主页:北海所属专栏:C++修行之路操作环境:VisualStudio2022版本17.6.5文章目录前言️正文1.lambda表达式1.1.仿函数的使用1.2.lambda表达式的语法1.3.lambda表达式的使用1.4.lambda表达式的原理1.4.lambda表达式的优点及适用场景2.线程库2.1.thread线程类2.1.1.this_thread命名空间2.2.mutex互斥锁类
北 海
·
2023-11-24 05:33
C++修行之路
c++
开发语言
constexpt
constexptconstexpt是
C++11
引入的新的关键字,它用于在编译时而非运行时计算函数或变量的值。这个特性对于提高程序效率和优化代非常有用。
Tian Meng
·
2023-11-24 04:35
C++学习/笔记
c++
【
C++11
】=default与=delete关键字使用详解
系列文章目录
C++11
新特性使用详解-持续更新文章目录系列文章目录一、=default关键字1.为什么要引入=default关键字2.注意事项3.使用=default关键字有什么好处4.实例代码二、=delete
小飞1116
·
2023-11-24 01:17
C++11
c++
开发语言
【
C++11
】auto与decltype关键字使用详解
系列文章目录
C++11
新特性使用详解-持续更新文章目录系列文章目录前言一、auto关键字1.根据变量的初始化表达式来推导变量的类型2.const与引用二、decltype关键字1.推断表达式的类型2.const
小飞1116
·
2023-11-24 01:47
C++11
c++
开发语言
【
C++11
】右值引用使用详解
系列文章目录
C++11
新特性使用详解-持续更新文章目录系列文章目录前言一、关联特性1.1左值/右值二、使用方法2.1获得右值引用2.2对象移动方法2.2.1移动构造函数/移动赋值运算符2.2.2标记为noexcept2.2.3
小飞1116
·
2023-11-24 01:46
C++11
c++
开发语言
【
C++11
】default、delete与Noncopyable
C++11oop中的default、delete与Noncopyabledefault在
C++11
标准中,可以使用default关键字来显式地声明默认的构造函数和析构函数。
十字星的约定_
·
2023-11-23 23:26
c++
c++
开发语言
c++20
面试题:内存管理机制
可以看出retain底层是调用了sidetable_retain()通过代码可以出,SideTable拥有一个
自旋锁
,一个引用计数map。
常在士心
·
2023-11-23 20:40
【C/C++】C和
C++11
之enum枚举的使用细节
目录一、前言二、C中的枚举(enum)2.1C中枚举的大小2.2C中枚举的取值范围三、
C++11
中的枚举(enum)3.1c++11中新增枚举大小的控制3.2c++11新增有作用域的枚举类型一、前言#由于
联旺
·
2023-11-23 19:25
不懂什么是锁?看完这篇你就彻底明白了!(建议先收藏)
锁分类Java中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对Java中一些常用锁的分类,包括一些基本的概述从线程是否需要对资源加锁可以分为悲观锁和乐观锁从资源已被锁定,线程是否阻塞可以分为
自旋锁
从多个线程并发访问资源
JAVA高级
·
2023-11-23 15:13
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他