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++进阶——
C++11
(part 1)
在
C++11
中,支持了用列表初始化来构造容器,因此我们都可以用“{}”来进行初始化容器。
淑女在哭泣
·
2024-02-11 21:32
c++
开发语言
C++进阶——
C++11
(lambda表达式)
一、lambda表达式1、为什么要用lambda表达式当我们要用sort来排序时,不可避免地要写比较器,因此我们每变一次比较规则就要重新一个仿函数。而这样就会让程序看起来非常的冗余。对于这种情况,我们可以用lambda表达式。2、什么是lambda表达式lambda表达式的语法是这样的:[capture-list](parameters)mutable->return-type{statement
淑女在哭泣
·
2024-02-11 21:32
c++
开发语言
C++入门——指针空值 nullptr (
C++11
支持)
目录一、背景二、nullptr三、注意事项一、背景在C语言里,我们给指针赋值一般都是用NULL的,对吧?但是,在下面这个场景就会产生问题了。voidf(int){cout<<"f(int)"<
淑女在哭泣
·
2024-02-11 21:01
c++
开发语言
C++进阶——
C++11
(右值引用)
一、右值VS左值官方定义是,可以直接取得到地址的对象就是左值,而不能取地址的对象就是右值。但按我的理解来说,如果这个对象是有名字(变量名)的,那就是左值;而除常量数组之外,如果没有名字的(比如临时对象),就是右值,同时也称“将亡值”。//左值inta;//变量vectorbuf;//对象"sss";//字符串常量//右值10;string();vector();//匿名对象二、右值引用(Type&
淑女在哭泣
·
2024-02-11 21:31
c++
开发语言
C++11
智能指针使用
shared_ptr初始化:优先使用make_shared来构造智能指针make_shared(p)1):std::shared_ptrp(newint(1));2):std::shared_ptrp2=p;3):std::shared_ptrptr;//ptr未初始化使用reset对ptr进行初始化ptr.reset(newint());4):智能指针析构默认使用delete(并不是delete
chendongming
·
2024-02-11 19:41
c++11
之std::enable_shared_from_this入门
一、std::enable_shared_from_this应用场景在记录std::enable_shared_from_this之前,需要先看一下原始指针与shared_ptr在使用过程中一些问题。先看一代码段:#include#include#include#includeclassPoint;typedefstd::shared_ptrptr_point;classPoint{public:
YaoYuan9323
·
2024-02-11 17:46
boost
库与stl
c
11
内存管理
raw
pointer
boost
c++11
之再探std::enable_shared_from_this
之前一片关于std::enable_shared_from_this类的文章,只是简单探讨了一下这个类的使用方法与原因,经过不断的学习,对其又有了新的认识。为避免忘记所以来记录一下。一、它有啥作用这个类能够让shared_ptr管理的资源安全的生成其他shared_ptr引用,从而共享这个类的某一资源(就是malloc出来的对象)。实际也是延长了资源的生命周期。二、适用的业务场景实际上边已经提到了
YaoYuan9323
·
2024-02-11 17:16
网络编程
boost
库与stl
boost智能指针
异步调用
c++回调
smart
ptr
c++11
正则表达式(一)——匹配模式(pattern)
一、作用pattern是一个c++字符串,它作用是给出一匹配规则,去检测给定字符串是否具备这种拼接规则。二、模式字符串的语法规则需要插入一句题外话,在特殊元字符中会用到\,对于c/c++而言它是个特殊字符,若我们需要一个“斜杠"时候需要在其前面加一个\,即应该写为\\。1>开始与结尾位置声明1.1^表示字符串的开始如"^yao",表示以“yao”开始的的字符串。“yaopanyuan”,“yaoi
YaoYuan9323
·
2024-02-11 17:45
boost
库与stl
c++11
regex
smatch
regular
expression
c++11
之weak_ptr剖析
一、概述引用《c++primer》的话:weak_ptr是一种不控制所指向对象生存期的智能指针,它指向由一个shared_ptr管理的对象。将一个weak_ptr绑定到shared_ptr不会改变shared_ptr的引用计数【0】。一旦最后一个指向对象的shared_ptr被销毁,对象就会被释放。即使有weak_ptr指向对象,对象也会被释放。weak_ptr与shared_ptr继承同一个基类
YaoYuan9323
·
2024-02-11 17:45
boost
库与stl
weak_ptr
Effective Modern C++-第一章 类型推断
发展历史c++98:只有functiontemplate有类型推断
c++11
:增加了auto和decltypec++14:extendstheusagecontextsinwhichautoanddecltypemaybeemployed
山幺幺
·
2024-02-11 10:19
C++入门篇(3)auto关键字、内联函数、nullptr关键字
目录1.auto关键字(
C++11
)1.1typedef取别名的缺陷1.2auto1.3auto使用细则1.3.1auto与指针引用结合使用1.3.2同一行定义多个变量1.4auto不能推导的场景1.4.1auto
roboko_
·
2024-02-11 06:59
C++基础语法
c++
开发语言
几种智能指针的原理/简单实现
详细代码放在了:AC/Algorithms/STL/smartpointers/接口说明auto_ptr之后在
C++11
引入了移动语义,所以后面新出的三个智能指针实现和auto_ptr有比较明显区别auto_ptrhttp
devilisdevil
·
2024-02-11 02:59
【
C++11
】lambda表达式 的定义、性质和用法
定义Lambda表达式是
C++11
引入的一种函数对象的匿名表示方法。它可以用于定义轻量级的、临时的、内联的函数对象,通常用于函数式编程的场景。
卜及中
·
2024-02-10 15:14
C++进阶
c++
java
开发语言
STL - map 和 set
1、关联式容器vector、list、deque、forward_list(
C++11
)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身关联式容器也是用来存储数据的,与序列式容器不同的是
ketil27
·
2024-02-10 14:39
c++
开发语言
C++11
目录同一列表初始化{}初始化std::initializer_listautodecltypenullptr范围forSTL中的变化右值引用和移动语义左值引用和右值引用左值引用和右值引用比较右值引用使用场景和意义完美转发万能引用新的类功能强制生成默认函数的关键字default禁止生成默认函数的关键字delete可变参数模板lambda表达式lambda表达式语法捕捉列表包装器bindC++11中的
微yu
·
2024-02-10 13:36
C++
c++
开发语言
C++11
——智能指针
0.前言在C++异常处理时,当程序抛出异常时,程序会直接跳转到最近的捕获区域进行异常的处理,这种处理方式保证了程序的不崩溃,只针对一个区域内的某种错误进行处理。这样的代码看似很正常,但往往会忽略掉某些内存的处理。例如我们在某个函数调用前向内存申请了部分空间,本来内存的释放逻辑是在函数调用之后进行完成,但是如果函数内部出现异常错误,函数将直接跳转,申请的内存无法释放,就造成了内存泄漏的风险。1.为什
oywLearning
·
2024-02-10 13:36
C++
c++
开发语言
算法
C++——智能指针——auto_ptr、shared_ptr、unique_ptr
C++11
中提供了三种智能指针,使用这些智能指针时需要引用头文件:·shared_ptr;·unique_ptr;·auto_ptr;这三个智能指针模板都定义了类似指针的对象,可意义将new获得(直接或者间接
勿在浮沙築高臺
·
2024-02-10 13:05
C++
c++
C++ 11新特性之可变参数模板
概述随着
C++11
标准的发布,C++语言获得了许多强大的新特性,其中一项显著提升灵活性和实用性的创新便是可变参数模板。
hope_wisdom
·
2024-02-10 13:48
C++
11新特性
c++
开发语言
C++
11
可变参数模板
C++中的lambda表达式和函数对象
lambda表达式是
C++11
中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。
燕山暮雪
·
2024-02-10 12:13
C++
lambda
函数指针
函数对象
函数包装器
函数适配器
C++11
中的auto陷阱
作者:dlite@163.comC++11中引入的auto关键字自动推导类型特性,可能是最方便也最容易理解的特性了。然而,即使是这个简单特性,也有陷阱,需要我们使用时注意。1、引用类型被推导为非引用类型例如:foo(void*arg){if(arg){autobig=*static_cast(arg);...}}上面的代码中big会被推导为MyBigClass类型,而不是MyBigClass&类型
DLite
·
2024-02-09 23:58
C/C++编程
c++
iterator
string
c
【C/C++ 14】
C++11
智能指针
目录一、智能指针概述二、auto_ptr三、unique_ptr四、shared_ptr五、weak_ptr六、定制删除器一、智能指针概述C++在进行异常处理的时候,若在new和delete之间或在lock和unlock之间就抛出异常了,这样会导致内存泄漏或死锁问题。为了解决上述问题,于是就引入了智能指针(RAII)的概念。RAII(ResourceAcquisitionIsInitializat
AllinTome
·
2024-02-09 19:34
C/C++
c++
开发语言
C++进阶(十一)
C++11
北尘_:个人主页个人专栏:《Linux操作系统》《经典算法试题》《C++》《数据结构与算法》☀️走在路上,不忘来时的初心文章目录一、
C++11
简介二、统一的列表初始化1、{}初始化2、std::initializer_list
北尘_
·
2024-02-09 17:02
C++
c++
java
开发语言
设计模式-单例模式(懒汉+饿汉+线程安全模式)
目录单例模式懒汉模式饿汉模式线程安全的懒汉模式双重检查锁定(过时,错误的版本)
C++11
特有的线程安全懒汉模式单例模式单例模式可以说是23种设计模式中最为简单的一种设计模式类中只有唯一一个实例并且是私有化的
WE xiye
·
2024-02-09 15:39
基础知识点
设计模式
单例模式
C++11
本篇将介绍
C++11
增加的语法种较为实用的部分统一的列表初始化{}初始化c++98中,标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定:structA{int_a;int_b;};intmain
Artiel
·
2024-02-09 15:09
C++
c++
C++11
——— 右值引用和移动语义
C++11
———右值引用和移动语义基本概念左值vs右值左值引用vs右值引用右值引用使用场景和意义左值引用的使用场景左值引用的短板右值引用和移动语义右值引用引用左值右值引用的其他使用场景完美转发万能引用完美转发保持值的属性完美转发的使用场景基本概念左值
flyyyya
·
2024-02-09 10:34
c++
c++
java
jvm
C++11
智能指针
智能指针的使用及原理智能指针的使用智能指针的原理C++中的智能指针std::auto_ptrstd::unique_ptr防拷贝std::shared_ptrshared_ptr的模拟实现std::shared_ptr的线程安全问题std::weak_ptr智能指针的使用内存泄露问题内存泄露是指因为疏忽或错误,造成程序未能释放已经不再使用的内存的情况。比如:intdiv(){inta,b;cin>
flyyyya
·
2024-02-09 10:03
c++
c++
java
算法
[C/C++] -- Boost库、Muduo库编译安装使用
1.Muduo库Muduo是一个基于
C++11
的高性能网络库,其核心是事件驱动、非阻塞I/O、线程池等技术,以实现高并发、高性能的网络通信。
Afison
·
2024-02-08 16:29
C/C++
c++
C++之多线程(multi-thread)
学习
C++11
及以后的线程支持:
C++11
引入了对多线程编程的支持,包括std::thread类等。学习如何创建、加入和分离线程。#include#includevoidmyFunction
奋进的大脑袋
·
2024-02-08 15:16
c++
开发语言
C++服务器端开发(7):并发处理
1.线程:
C++11
引入了标准线程库,可以通过std::thread类来创建和管理线程。通过在不同的线程中执行不同的任务,可以实现并发处理。
Galaxy银河
·
2024-02-08 14:36
计算机
/
人工智能
C++更多语法
c++
算法
开发语言
c++是否应避免使用普通指针,而使用智能指针(包括shared,unique,weak)?
转自:详解
C++11
中的智能指针先说结论,是的,你应该尽量使用这些智能指针。
clw_18
·
2024-02-08 12:25
C++
c++
C++11
新特性
C++从诞生到现在一直是一门主流的编程语言,期间经历了多次更行迭代,最近的一次大版本更新就是
C++11
,而现在大部分公司也把
C++11
作为主流的应用版本。
猿来是这样^
·
2024-02-08 11:33
C++
c++
开发语言
c语言
C++11
简介 —— “在写一种很新的代码”
C++11
标准可以说是近20年来C++语言标准最剧烈的一次修订,远远比前两次修订变动要大。因而,在C++语言标准委员会内部的讨论,以及在C++语言的社区和应用业界引发的震动和影响也极为深远。
_宁清
·
2024-02-08 10:30
C++
c++
开发语言
c语言
CMake指令解析 set(CMAKE_CXX_FLAGS “$ENV{CXXFLAGS} -rdynamic -O3 -fPIC -ggdb -std=
c++11
-Wall -Wno-deprec
完整代码set(CMAKE_CXX_FLAGS"$ENV{CXXFLAGS}-rdynamic-O3-fPIC-ggdb-std=c++11-Wall-Wno-deprecated-Werror-Wno-unused-function-Wno-builtin-macro-redefined-Wno-deprecated-declarations")1、CMAKE_CXX_FLAGS这种大写的变量,
For Nine
·
2024-02-08 10:50
CMake
c++
开发语言
C++11
异步任务轮子实现(header-only)
为什么写这个C++17异步任务需要future和promise配合使用,不是很喜欢那种语法。实现一个操作简洁的异步任务。满足功能异步任务超时控制get接口同步任务计时lambda回调任务重启使用#include"async_callback.h"#include#includeusingnamespacestd;intmain(){inta=0,b=0,c=0;AsyncTask*task1=ne
Y. F. Zhang
·
2024-02-08 09:25
C++
多线程编程
数据结构
c++
开发语言
算法
什么是右值引用,跟左值又有什么区别
右值引用是
C++11
引入的一种引用类型,用于绑定临时对象或将要被移动的对象。它使用双引号(&&)表示,例如int&&。左值是可以取地址的表达式,它有持久的身份,并且可以在多个地方使用。
草琳情
·
2024-02-08 08:57
c++
使用
C++11
简单测试接口性能矩阵
本版本和上一个版本的接口基本一致,就是做接口测试的工程。但是增加了简单的性能矩阵的测试。不是并发的性能,主要是单接口在不同参数下的表现。本例特点,在时间方面,去掉了C语言的time_t库,改用boost::posix_time和boost::date_time::gregorian库。在性能方面,除了简单的获取返回的gunzip后的解压数据大小外,还获取了unzip之前的rawdata大小。使用的
FredricZhu
·
2024-02-08 08:05
【
C++11
】统一初始化 和 initializer_list
文章目录一、概念辨析1.声明、定义、初始化、赋初值的概念2.默认初始化和未被初始化的概念二、C++98的列表初始化三、
C++11
对列表初始化的扩展(统一初始化)四、标准库中的initializer_list
_宁清
·
2024-02-08 07:29
C++
c++
开发语言
统一初始化
初始化列表
C++11
列表初始化
initializer
CPP项目:Boost搜索引擎
2.对于搜索引擎的相关宏观理解3.搜索引擎技术栈及项目环境技术栈:c/c++,
c++11
,STL,Boost准标准库,Jsoncpp,cppjieba,cpp-httplib,html5,css,js
函数指针
·
2024-02-08 05:14
搜索引擎
c++11
新特性(总结中)
c++11
新特性,总结中一、自动类型推导(auto)二、Lambda表达式三、右值引用(rvaluereference)四、初始化列表(initializerlist)五、线程库(threadlibrary
海棠半载
·
2024-02-08 02:35
c++
开发语言
C++学习笔记——typedef和using
C++11
中扩展了using的使用场景(
C++11
之前using主要用来引入命名空间名字如:usingnamespace
翟羽嚄
·
2024-02-08 01:27
C++
c++
学习
笔记
C++ 右值引用 std::move和std::forward的使用
前言右值引用,std::move(移动语义)和std::forward(完美转发)都是
C++11
里面的特性。使用右值引用和移动语义,可以避免无谓的复制,提供了程序性能。
abcd552191868
·
2024-02-08 00:18
零声-linux课程总结
C++11
move
forward
右值引用
深拷贝
浅拷贝
移动语义
使用
C++11
相关特性实现一个线程池
前言PS:本文来自于腾讯课堂零声学院上课课件关于线程池的基本概念可以参考LinuxC实现线程池,提到了如何实现线程池,如果使用
C++11
来实现一个线程池,应该如何实现呢,在实现线程池之前,先熟悉一下涉及到相关知识点
abcd552191868
·
2024-02-08 00:48
C++11线程池
C++异步
thread
函数对象
function对象
【C++】树型结构关联式容器:map/multimap/set/multisetの使用指南(27)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.键值对二.关联式容器&序列式容器三
YY的秘密代码小屋
·
2024-02-07 23:16
YY
滴
《C++系列》
c++
java
开发语言
【C++】多态
多态如何理解多态C++中多态的条件虚函数虚函数的重写虚函数重写的两个例外
C++11
中两个关键字finaloveride重载、重写(覆盖)、重定义(隐藏)的对比抽象类接口继承和实现继承多态的原理虚函数表动态绑定与静态绑定单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表菱形继承中的多态菱形虚拟继承中的多态如何理解多态
#include>
·
2024-02-07 22:42
c++
面试
C++进阶--
C++11
包装器
目录一、function包装器1.1function包装器的概念1.2function包装器实例化(统一类型)1.4function包装器的意义二、bind包装器2.1bind包装器的概念2.1.1bind包装器2.1.2调用bind的一般形式2.2bind包装器绑定固定参数2.2.1无意义的绑定2.2.2绑定固定参数2.3bind包装器调整传参顺序2.4bind包装器的意义一、function包
sushang~
·
2024-02-07 22:09
c++
开发语言
C++进阶--
C++11
智能指针
目录一、智能指针的使用及原理1.1什么是智能指针1.2智能指针的发展历史1.3智能指针的使用1.3.1内存泄漏问题1.3.2利用异常的重新捕获解决1.3.3利用智能指针解决1.4智能指针的原理1.4.1需要考虑的问题1.4.2为什么要解决智能指针对象的拷贝问题二、C++中的智能指针2.1std::auto_ptr2.1.1管理权转移2.1.2auto_ptr的模拟实现2.2std::unique_
sushang~
·
2024-02-07 22:09
c++
java
开发语言
C++进阶--
C++11
线程库
目录一、线程库(thread)1.1线程对象的构造方式1.1.1调用无参的构造函数1.1.2调用带参的构造函数1.1.3调用移动构造函数1.2thread提供的成员函数1.3获取线程的id方式1.4线程函数的参数问题1.5join与detach1.5.1join方式1.5.2detach方式二、互斥量库(mutex)2.1mutex的种类2.1.1std::mute2.1.2std::recurs
sushang~
·
2024-02-07 22:39
c++
开发语言
C++进阶--
C++11
lambda表达式
C++进阶--C++11lambda表达式一、lambda表达式的概念二、lambda表达式的语法2.1lambda表达式语法格式2.2lambda表达式捕获列表说明三、lambda表达式交换两个数3.1标准写法3.2利用捕捉列表进行捕捉3.3利用捕捉列表进行捕捉四、lambda表达式的底层原理4.1底层原理4.2lambda表达式之间不能相互赋值一、lambda表达式的概念 lambda表达式
sushang~
·
2024-02-07 22:39
c++
java
jvm
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏YY的《单片机期末速过》专栏YY的《C
YY的秘密代码小屋
·
2024-02-07 21:47
YY滴《单片机系列》
51单片机
mongodb
数据库
【51单片机】实现一个动静态数码管显示项目(前置知识铺垫,代码&图演示)(5)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏YY的《单片机期末速过》专栏YY的《C
YY的秘密代码小屋
·
2024-02-07 21:46
YY滴《单片机系列》
51单片机
mongodb
数据库
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他