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
新特性总结
类型推导auto&decltypeauto:让编译器在编译器就推导出变量的类型,可以通过=右边的类型推导出变量的类型。autoa=10;//10是int型,可以自动推导出a是intdecltype:相对于auto用于推导变量类型,而decltype则用于推导表达式类型,这里只用于编译器分析表达式的类型,表达式实际不会进行运算。contint&i=1;inta=2;decltype(i)b=2;//
万物皆可休
·
2023-08-15 07:32
c++
开发语言
单参数构造函数的隐式类型转化
单参数构造函数的隐式类型转化如果你不想发生隐式类型的转化,可以在默认构造函数前加上关键字:explicit多参数的玩法和单参数的是不一样的c98不支持多参数隐式类型的转化
c++11
支持多参数隐式类型的转化举个例子
laochen985
·
2023-08-14 20:14
c++
C++并发与多线程---学习笔记(5)condition_variable、wait、notify_one、notify_all
C++11
并发与多线程一、条件变量condition_variable、wait()、notify_one()1)condition_variable2)wait()3)notify_one()二、notify_one
凹凸曼~
·
2023-08-14 14:02
c++
多线程
c++11
多线程
并发编程
c++
lambda
C++并发与多线程---学习笔记(3)unique_lock(类模板)详解
c++11
并发与多线程一、unique_lock(类模板)详解(1)unique_lock取代lock_guard(2)unique_lock的第二个参数1)std::adopt_lock2)std::
凹凸曼~
·
2023-08-14 14:01
c++
多线程
c++11
c++
多线程
C++并发与多线程---学习笔记(4)单例设计模式及共享数据分析、解决及实现
C++11
并发与多线程一、单例设计模式讲解及共享数据问题处理、解决(1)单例模式中的懒汉式(2)单例模式中的饿汉式二、std::call_once()函数模板一、单例设计模式讲解及共享数据问题处理、解决什么叫单例设计模式呢
凹凸曼~
·
2023-08-14 14:01
c++
多线程
c++11
c++
设计模式
多线程
C++并发与多线程---学习笔记(2)多线程创建、数据共享问题处理、死锁演示及解决详解
C++11
并发与多线程一、创建多个线程、数据共享问题分析、案例代码(1)创建和等待多线程(2)数据共享问题分析1)只读数据2)有读有写(3)共享数据读写案例崩溃案例演示,且抛出“互斥量”二、互斥量概念、
凹凸曼~
·
2023-08-14 14:31
c++
多线程
c++11
多线程
并发编程
c++
[
c++11
]互斥mutex和锁lock笔记
学习网址:C/C++编程:std::mutex详解https://blog.csdn.net/zhizhengguan/article/details/107353387互斥量std::mutex摘自网址https://www.cnblogs.com/qbin/p/13294795.html调用的线程会锁住互斥量(mutex),必要的话会被阻塞:1.如果其它任何线程没有对互斥量进行锁操作,调用线程
wanxiu.
·
2023-08-14 14:58
基础之C++语法
c++
学习笔记(07):
c++11
并发与多线程-unique_lock详解
立即学习:https://edu.csdn.net/course/play/9377/196525?utm_source=blogtoedu1.unique_lock取代lock_guardunique_lock是个类模板。工作中一般lock_guard足够了(推荐使用)。unique_lock使用方式和lock_guard创建方式一样。unique_locksubmutex(mymutex);2
a32629
·
2023-08-14 14:27
研发管理
c语言
并发
c++11
多线程
c++
学习笔记(09):
c++11
并发与多线程-单例设计模式共享数据分析、解决,call_once
立即学习:https://edu.csdn.net/course/play/9377/196526?utm_source=blogtoedu1.设计模式老外先有项目,后有设计模式中国硬套设计模式2.单例模式3.单例模式在多线程中的使用双重锁定(双重检查)在GetInstance中两个if(m_instance==NULL);//if(m_instance==NULL){std::unique_lo
a32629
·
2023-08-14 14:27
研发管理
c语言
并发
c++11
多线程
c++
C++学习笔记总结练习:并发机制
并发机制1基于多线程并发
C++11
开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread
biuheartburn
·
2023-08-14 14:56
c++
c语言
Linux开发
c++
学习
笔记
C++11
异步与通信之 packaged_task
概念简介packaged_task用于包装可调用目标(Callable)为一个对象,如lambda,普通函数,小括号重载等,用于异步调用。其返回值或所抛异常被存储于能通过std::future对象访问的共享状态中,和promise类似。将函数的调用与函数返回值的获取分开调用,这样就给异步提供很大的便利。猛的一看好像和std::bind绑定器作用相似,可惜std::bind返回的对象是同步的。示例:
KingOfMyHeart
·
2023-08-14 11:51
C++2.0常用特性
c++
packaged_task
多线程
异步任务
c++11
C++11
异步与通信之 std::async
概念简介std::async异步运行一个函数,将返回值保存在std::future中。含有2个策略参数:launch::deferred延迟执行,当调用wait()和get()时,任务才会被运行,且不创建线程;launch::async:创建线程并执行任务,默认是此类型;同样的,调用get()方法获取对象时,也是阻塞等待的。代码示例使用deferred策略intFunc(){std::cout<<
KingOfMyHeart
·
2023-08-14 11:51
C++2.0常用特性
c++
async
c++11
异步
C++11
异步与通信之promise and future
为什么会有promise&&future一个函数在线程A中调用,函数调用的结果希望在线程B中获取,不直接使用锁和条件变量,如何简单的实现?std::promise异步传输变量std::promise提供存储异步通信的值,再通过其对象创建的std::future对象异步获得结果std::promise只能使用一次,voidset_value(T&&val)设置传递值,只能调用一次(保证结果单一)st
KingOfMyHeart
·
2023-08-14 11:21
C++2.0常用特性
c++
异步
c++11
promise
future
c++11
中shared_from_this的使用情景与案例
classC{public:C(intb=10):a(b){coutp1(newC(999));coutp2(p1->object_ptr());cout{public:C(intb=10):a(b){coutobject_ptr(){returnshared_from_this();}private:inta;};再次调用,就不会有这样的问题了:intmain(){shared_ptrp1(ne
KingOfMyHeart
·
2023-08-14 11:20
C++2.0常用特性
c++泛型算法
C/C++基础
c++11
shared_ptr
内存管理
C++11
之 递归锁 recursive_mutex
理解递归锁在一些业务场景下,线程在获取锁后还会多次获取该锁,且保证不出现死锁或者程序崩溃异常。简单地说,递归锁是一种在锁已被持有的情况下,允许同一线程对该锁进行多次加锁的机制,也叫可重入锁。举个例子,一个递归函数,需要被一个线程多次调用,且当前函数中某些临界区需要加锁,如果我们使用常规的mutex等锁进行多次lock(),必然会导致程序异常,此时如果使用递归锁,那么将允许我们多次lock()。有些
KingOfMyHeart
·
2023-08-14 11:19
C++2.0常用特性
C/C++基础
c++
递归锁
可重入锁
recursive_mutex
c++11
c++ 学习系列 -- 智能指针
所以
C++11
就引入了智能指针来管理内存。二常用的智能指针与区别常用智能指针有shared_ptr、unique_ptr与weak_ptrun
在河之洲木水
·
2023-08-14 06:50
c++
学习
开发语言
【
C++11
智能指针】
c++智能指针手动管理内存很容易造成内存泄漏,现代c++的智能指针可以在很大程度上帮我们缓解这个问题,降低我们的手动管理内存的心智负担,智能指针有好几种,比如shared_ptr、unique_ptr还有weak_ptr共享指针shared_ptr共享指针会记录有多少个共享指针指向同一个物体,当这个数字降为0的时候,程序就会自动释放这个物体,省去我们手动delete的烦恼,要使用智能指针首先需要#
别出Bug啊
·
2023-08-14 05:43
c++
开发语言
c++11
以后c++标准库定义的固定位宽的整数类型(Fixed width integer types)
FixedwidthintegertypesFixedwidthintegertypes(sinceC++11)-cppreference.com相关定义文件如下:Windows系统MSVC:MicrosoftVisualStudio\2022\Community\VC\Tools\MSVC\14.33.31629\include\cstdintLinux系统GCC:gcc\libstdc++-v
含影
·
2023-08-14 00:37
c++/c/asm
c++
开发语言
【C++起飞之路】初级—— auto、范围for循环、宏函数和内联函数
auto、范围for、内联函数、宏函数和nullptr一、auto—类型推导的魔法(
C++11
)1、auto是什么?
徐徐同学
·
2023-08-13 19:00
C++之路
c++
开发语言
c语言
学cpp看的那点书
StandardLibrary全称TheC++StandardLibraryATutorialandReferenceSecondEdition简单的了解标准库effectivemoderncpp学习
c+
502203305
·
2023-08-13 18:22
杂项
c++
汇编
C++:派生类构造函数
C++11
规定usingB::B;派生类新增成员可以通过类内初始值进行初始化。可用using语句继承基类构造函数。但是只能初始化从基类继承的成员。
ACMer_CTGU
·
2023-08-13 17:42
C++
c++
类
关于lamda 表达式以及mutable 参数
C++11
引入了Lambda表达式。Lambda表达式的引入,方便了简短函数的定义,为常用的一次性函数的定义和使用提供了很大的便利。
芒鞋儿
·
2023-08-13 17:53
map和set的使用
1.关联式容器在之前的文章里,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(单链表)(
C++11
)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构
夢に向かって進む
·
2023-08-13 15:28
C++
c++
【C++】std::promise
std::promisestd::promise是
C++11
并发编程中常用的一个类,常配合std::future使用。
条竿儿毛好
·
2023-08-13 13:38
C++
c++
开发语言
算法
c++11
标准模板(STL)(std::basic_fstream)(四)
定义于头文件template>classbasic_fstream:publicstd::basic_iostream类模板basic_fstream实现基于文件的流上的高层输入/输出。它将std::basic_iostream的高层接口赋予基于文件的缓冲(std::basic_filebuf)。std::basic_fstream的典型实现只保有一个非导出数据成员:std::basic_file
繁星璀璨G
·
2023-08-13 12:06
c++
标准库模板
basic_fstream
基于文件的流上的高层输入/输出
文件操作
c++11
标准模板(STL)(std::basic_fstream)(五)
定义于头文件template>classbasic_fstream:publicstd::basic_iostream类模板basic_fstream实现基于文件的流上的高层输入/输出。它将std::basic_iostream的高层接口赋予基于文件的缓冲(std::basic_filebuf)。std::basic_fstream的典型实现只保有一个非导出数据成员:std::basic_file
繁星璀璨G
·
2023-08-13 12:06
c++
标准库模板
basic_fstream
基于文件的流上的高层输入/输出
文件操作
c++11
标准模板(STL)(std::basic_fstream)(三)
定义于头文件template>classbasic_fstream:publicstd::basic_iostream类模板basic_fstream实现基于文件的流上的高层输入/输出。它将std::basic_iostream的高层接口赋予基于文件的缓冲(std::basic_filebuf)。std::basic_fstream的典型实现只保有一个非导出数据成员:std::basic_file
繁星璀璨G
·
2023-08-13 12:05
c++
标准库模板
basic_fstream
基于文件的流上的高层输入/输出
成员函数
c++11
标准模板(STL)(std::basic_stringbuf)(一)
定义于头文件template,classAllocator=std::allocator>classbasic_stringbuf:publicstd::basic_streambufstd::basic_stringbuf是关联字符序列为内存常驻的任意字符序列的std::basic_streambuf。能从std::basic_string的实例初始化它,或将它做成该类的实例。std::basi
繁星璀璨G
·
2023-08-13 12:05
c++
basic_stringbuf
关联字符序列的任意字符
标准库模板
字符串IO
c++--右值引用
1.什么是右值引用在
C++11
之前,是没有右值引用的,只有左值引用,在
C++11
中,才更新了右值引用,不管是左值引用还是右指针用,其本质都是为对象起别名。
函数指针
·
2023-08-13 04:37
c++
开发语言
C++(11):conditional条件选择类型
Ty1;};templatestructconditional{usingtype=_Ty2;};templateusingconditional_t=typenameconditional::type;
C+
风静如云
·
2023-08-13 01:44
C/C++
c++
C++入门
++输入&输出4.缺省参数4.1缺省参数概念4.2缺省参数分类5.函数重载概念6.引用6.1引用概念6.2引用特性6.3常引用6.4引用和指针的区别7.内联函数7.1概念7.2特性8.auto关键字(
C+
IT战斗蛙
·
2023-08-12 23:58
c++
开发语言
【
C++11
】列表初始化 | decltype操作符 | nullptr | STL的更新
文章目录一.列表初始化1.花括号初始化2.initializer_list二.decltype三.nullptr四.STL的更新1.STL新增容器2.字符串转换函数3.容器中的一些新方法一.列表初始化1.花括号初始化{}的初始化C++98中,标准允许使用大括号{}对数组或者结构体元素进行统一的列表初始值设定。比如:structPoint{int_x;int_y;};intmain(){//使用大括
殿下p
·
2023-08-12 16:15
C++学习
c++
开发语言
数据结构
算法
【
C++11
】类的新功能 | 可变参数模板
文章目录一.类的新功能1.默认成员函数2.类成员变量初始化3.强制生成默认函数的关键字default4.禁止生成默认函数的关键字delete5.继承和多态中final与override关键字二.可变参数模板1.可变参数模板的概念2.可变参数模板的定义方式3.参数包的展开方式①递归展开参数包②逗号表达式展开参数包4.STL容器中的emplace相关接口函数一.类的新功能1.默认成员函数八个默认成员函
殿下p
·
2023-08-12 16:15
C++学习
c++
算法
开发语言
数据结构
C++11
Lambda表达式的用法与原理
Lambda表达式一、Lambda表达式的概念二、为什么引入Lambda表达式三、Lambda表达式的语法规则1.lambda表达式各部分说明2.捕获列表说明四、Lambda表达式原理一、Lambda表达式的概念Lambda表达式(lambdaexpression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambdaabstraction),是一
求知.
·
2023-08-12 16:13
C++学习
c++
开发语言
C++11
Lambda表达式
目录一、声明Lambda表达式二、捕获外部变量1、值捕获2、引用捕获3、隐式捕获4、混合方式三、修改捕获变量四、Lambda表达式的参数引言:
C++11
的一大亮点就是引入了Lambda表达式。
沙子是沙子
·
2023-08-12 16:13
#
C++
c++
开发语言
C++11
lambda表达式 可调用对象包装器function bind
目录lambda表达式lambda表达式是什么,应用场景场景引入:lambda表达式是什么?lambda表达式的语法语法:捕捉列表的说明:注意:lambda表达式的本质包装器functionfunction概念说明function使用说明function可调用对象包装器的作用:包装器bindbind概念说明&&使用说明bind可调用对象包装器使用实例:lambda表达式lambda表达式是什么,应
__zz11
·
2023-08-12 16:12
C/C++学习
c++
算法
数据结构
【
C++11
】lambda表达式
目录1、lambda表达式的引入2、lambda表达式lambda表达式的语法lambda表达式捕捉列表说明使用lambda表达式排序自定义类型lambda表达式的底层原理1、lambda表达式的引入在C++98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法:#include#includeintmain(){intarray[]={4,1,8,5,3,7,0,9,2,
三分苦
·
2023-08-12 16:12
C
plus
plus
c++
算法
开发语言
【
C++11
】lambda表达式 | 包装器
文章目录一.lambda表达式1.lambda表达式概念2.lambda表达式语法3.lambda表达式交换两个数4.lambda表达式底层原理二.包装器1.function包装器①function包装器介绍②function包装器统一类型③function包装器的意义2.bind包装器①bind包装器介绍②bind包装器绑定固定参数③bind包装器调整传参顺序④bind包装器的意义一.lambd
殿下p
·
2023-08-12 16:41
C++学习
c++
算法
数据结构
c/c++补完计划(六): 语法糖lambda
前言很多语言都有lambda,c++自然不能缺,在
c++11
里面加入了,是程序猿喜欢的语法糖,便于阅读,也便于理解.当然,它有很多相关概念,这里尽可能展开说.lambda表达式[capturelist]
sean_depp
·
2023-08-12 08:28
c++11
所有整数数据类型
c++11
所有整数数据类型,一定能用上!其实作者自己都不怎么用,顺手就写int。
yuhaoteng666
·
2023-08-11 21:06
C/C++
c++
C++初阶语法——类型指示符auto和空指针nullptr
目录一.auto1.auto的含义及使用2.auto使用注意事项3.范围for(重头戏)范围for注意事项二.nullptr一.auto1.auto的含义及使用在
C++11
中,标准委员会赋予了auto的含义为
溪读卖
·
2023-08-11 18:37
C++基础语法
c++
开发语言
c
c语言
面试之快速学习
C++11
- 右值 移动构造 std::move
C++11
右值引用字面意思,以引用传递的方式使用c++右值左值和右值,左值是lvalueloactorvalue存储在内存中,有明确存储地址的数据,右值rvaluereadvalue,指的是那些可以提供数据值的数据
cirol1997
·
2023-08-11 09:25
面试之快速学习C++11
面试
学习
c++
C++11
目录统一的列表初始化{}初始化std::initializer_list声明autodecltypenullptr范围for循环右值引用和移动语义左值引用和右值引用左值引用与右值引用比较移动构造移动赋值完美转发委托构造新的类功能强制生成默认函数的关键字default:禁止生成默认函数的关键字delete:可变参数模板逗号表达式展开参数包lambda表达式lambda表达式语法捕获列表说明函数对象与
梦乘着风去远航
·
2023-08-11 05:51
c++
java
开发语言
C++ STL --- list的使用
目录1.构造模块(1)无参构造函数(2)n个相同元素的构造函数(3)区间构造(4)
C++11
构造新形式(5)拷贝构造函数(6)赋值运算符重载2.迭代器模块(1)正向迭代器(2)反向迭代器3.容量模块(1
爱喝酸奶!
·
2023-08-11 04:05
C++
c++
list
STL
C/C++中的多线程说明
visualstudio下的Cmake项目的演示集成使用Cmake项目时出现的问题及解决方法Linux环境下使用POSIX线程1.环境准备2.创建一个普通工程目录来演示3.创建一个Cmake项目来演示
C+
scx_link
·
2023-08-11 01:30
C
and
C++的笔记
c语言
c++
linux
C++单例模式
文章目录1、什么是单例2、一个好的单例应该具备的条件3、懒汉模式与饿汉模式4、单例实现:线程安全、内存安全的懒汉式单例(基于
C++11
的智能指针和互斥锁)1、什么是单例单例Singleton是设计模式的一种
crossoverpptx
·
2023-08-10 22:11
设计模式
c++
单例模式
设计模式
智能指针详解
2、智能指针的原理3、智能指针的分类3.1auto_ptr3.2unique_ptr3.3shared_ptr前言
C++11
中引入了智能指针的特性,本文将详细介绍智能指针的使用。
敲键盘的喵
·
2023-08-10 22:36
c++
开发语言
c++
C++11
新特性 ---- 模板的优化
C++11
模板机制:①函数模板②类模板模板的使用:①范围:模板的声明或定义只能在全局或类范围进行,不可以在局部范围(如函数)②目的:为了能够编写与类型无关的代码函数模板:-格式:template//类型函数声明返回类型函数名
呵呵哒( ̄▽ ̄)"
·
2023-08-10 22:33
c++
算法
开发语言
C++11
新特性 ---- final 和 override
一、finalC++中增加了final关键字,作用如下:①限制某个类不能被继承②或者某个虚函数不能被重写①限制某个类不能被继承//①限制某个类不能被继承,也就是说这个类不能有派生类classBase{public:virtualvoidprint(){coutusingnamespacestd;/*1.finalC++中增加了final关键字,作用如下:①限制某个类不能被继承②或者某个虚函数不能被
呵呵哒( ̄▽ ̄)"
·
2023-08-10 22:03
c++11
final
override
关键字
C++11
新特性 ---- 类成员的快速初始化
一、类成员的快速初始化1.C++98标准的类成员初始化①初始化类中的静态成员常量("就地声明"):类声明:等号=加初始值 ②初始化类中的非静态成员变量:初始化:必须在构造函数中进行 #includeusingnamespacestd;/*C++98标准的类成员初始化初始化类中的静态成员常量("就地声明"):类声明:等号=加初始值初始化类中的非静态成员变量:必须在构造函数中进行*///按照C++98
呵呵哒( ̄▽ ̄)"
·
2023-08-10 22:33
c++11
类成员的快速初始化
上一页
39
40
41
42
43
44
45
46
下一页
按字母分类:
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
其他