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
)
左值引用和右值引用回顾引用我们之前就了解到了左值引用,首先我们要了解引用在编译器底层其实就是指针。具体来说,当声明引用时,编译器会在底层生成一个指针来表示引用,但在代码编写和使用时,我们可以像使用变量类似取别名的方式一样来操作引用,而不需要显式地使用指针符号。这使得引用更为方便,且看起来更直观,同时也能保证所获得的引用总是有效的。那什么是左值,什么又是右值呢??什么是左值与右值左值是表示数据的表达
高居沉
·
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++
开发语言
笔记
学习方法
经验分享
C++的堆heap操作RandomIt
heapmake_heap()对heap增加一个元素push_heap()对heap取出下一个元素pop_heap()对heap转化为一个已排序群集sort_heap()测试范围内的元素是否是一个二叉堆(
C+
~kiss~
·
2023-12-26 04:21
C++
c++
C++中vector返回值的最高效返回
移动语义(
C++11
后可用)std::vector
~kiss~
·
2023-12-26 04:50
C++
c++
《深入理解
C++11
:
C++11
新特性解析与应用》笔记三
c++中已经有一个好用的规则,就是如果派生类想要使用基类版本的成员函数,可以通过using声明来完成:
c++11
扩展了这个做法。子类可以通过使用using声明来声明继承基类的构造函数:这样就不需
Mamong
·
2023-12-26 01:45
c++
笔记
深入了解—
C++11
特性
目录一、
C++11
简介二、初始化列表2.1C++98中{}的初始化问题2.2内置类型的列表初始化2.3自定义类型的列表初始化2.3.1.标准库支持单个对象的列表初始化2.3.2.多个对象的列表初始化三、
努力学习的小赵同志
·
2023-12-25 20:25
c++
开发语言
c++11
标准模板(STL)(std::pair)(六)按字典序比较 pair 中的值
定义于头文件std::pair是一个结构体模板,其可于一个单元存储两个相异对象。pair是std::tuple的拥有两个元素的特殊情况。按字典序比较pair中的值operator==,!=,,>=(std::pair)templatebooloperator==(constpair&lhs,constpair&rhs);(1)(C++14前)templateconstexprbooloperato
繁星璀璨G
·
2023-12-25 15:21
#
std::pair
c++
标准库模板
pair
tuple
一个单元存储两个相异对象
c++11
标准模板(STL)(std::pair)(七)访问 pair 的一个元素
访问pair的一个元素std::get(std::pair)templatetypenamestd::tuple_element>::type&get(pair&p)noexcept;(1)(
C++11
繁星璀璨G
·
2023-12-25 15:49
#
std::pair
c++
标准库模板
pair
tuple
访问
pair
的一个元素
C++11
模板类array
有鉴于此,
C++11
新增了模板类array,它也位于名称空间std中。与数组一样,array对象的长度也时固定的,也使用栈(静态内存分配),而不是自由存储区,因此其效率与数组相同,但更方便,更安全。
WendyWJGu
·
2023-12-25 11:27
C/C++学习
c++
开发语言
c语言
【
C++11
/C++17】std::vector高效删除(O(1))
今天继续讨论一下std::vector的erase方法及其优化策略。我们已经知道从std::vector中间的某个位置删除项需要O(n)时间。这是因为移除一个项所产生的空间必须通过将空间后面的所有项移动到左边来填补。在像这样移动项目时,如果操作非常频繁或着数据量非常大,虽然保留了它们的顺序但会很损耗性能。如果保持顺序并不重要,我们可以对其进行优化。优化的核心是,如何避免删除元素后,数据的大量或者频
_君莫笑
·
2023-12-25 03:29
c++
STL
容器
C++17
【
C++11
/C++17】std::vector按顺序插入
在有序std::vector中插入元素,并保持std::vector元素排序std::vector本身不会对它们的对象进行排序。#include#include#include#include#include#includeusingnamespacestd;voidinsert_sorted(vector&v,conststring&words){constautoinsert_pos(lowe
_君莫笑
·
2023-12-25 03:29
c++
c++11
c++17
stl
容器
【
C++11
/17】std::map高效插入
我们在使用stl的映射容器std::map时,经常需要向容器中插入数据。由于map的元素key值是唯一的,我们经常遇到这样的场景:向map中插入元素时,指定的key已经存在则直接更新;指定的key不存在,然后才做插入操作;通用的做法,可以直接用emplace操作,判断指定的key是否存在,如果不存在,则插入元素。当元素存在的时候,emplace依然会构造一次带待插入元素,判断不需要插入后,将该元素
_君莫笑
·
2023-12-25 03:58
c++
C++17
try_emplace
C++11
:读取properties文件的第三方库cpp_properties
最近在C++环境下做一个项目设计,也希望能通过读取.properties文件来获取参数配置文件.在github上找到了这个
C++11
实现的读取.properties文件的项目github.com/glywk
10km
·
2023-12-24 14:47
c/c++/c++11
c++11
properties
cpp_properties
boost
C++11
并发与多线程
C++11
并发与多线程1.线程是进程中的实际运作单位并发:两个或者更多的任务(独立的活动)同时发生(进行):一个程序同时执行多个独立的任务进程:一个可执行程序运行起来了,就叫创建了一个进程。
qq_43784519
·
2023-12-24 05:41
学习笔记
c++
算法
开发语言
C++11
新特性(一)
C++11
新特性1.auto自动推导类型auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型inta=10;autob=a;//自动推断类型,b为int类型autoc=1.9;//
qq_43784519
·
2023-12-24 05:41
学习笔记
C++
c++
开发语言
C++设计模式之单例模式
懒汉模式在使用这个实例对象时才去创建,创建对象时加锁保证有且仅有一个(有线程安全问题)实现方式静态局部变量互斥锁使用
C++11
新特性call_once经典的线程安全例子classsingle{private
qq_43784519
·
2023-12-24 05:09
C++
学习笔记
c++
设计模式
单例模式
【
C++11
特性篇】玩转
C++11
中的包装器(function&bind)
前言大家好吖,欢迎来到YY滴C++系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!目录一.为什么需要包装器function?二.function包装器【1】function基本语法一览【2】function解决可调用对象的类型问题——>把可调用对象包装器来,存放到数组中去三.包装器,解决模板的效率低下,同一函数模板实例化多份的
YY的秘密代码小屋
·
2023-12-24 05:07
YY滴《C++11特性系列》
YY
滴
《C++系列》
c++
java
开发语言
【C++】function包装器全解(代码演示,例题演示)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.为什么需要包装器function
YY的秘密代码小屋
·
2023-12-24 05:07
YYの小小知识点
c++
开发语言
【C++】bind绑定包装器全解(代码演示,例题演示)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.bind(绑定包装器)【1】基本概念
YY的秘密代码小屋
·
2023-12-24 05:06
YYの小小知识点
c++
java
数据库
C++ strerror、errno、perror
c++11
扩展了需要在这个头文件中定义的基本值集,包括许多在POSIX环境中也可用的名称,将可移植errno值的总数增加到78个。有关完整列表,请参阅errc。与errno值相关的特定错误消
百口可乐__
·
2023-12-24 03:08
cplusplus
c++
java
开发语言
C++之std::declval
简介std::declval是
C++11
引入的一个模板函数,将任意类型T转换成右值引用&&类型,在decltype表达式中不必经过构造函数就能使用成员函数;通常在模板中使用std::declval时,模板接受的模板实参通常可能无构造函数
十五年专注C++开发
·
2023-12-24 02:41
#C++
c++
开发语言
C++之std::forward
概述std::forward是
C++11
引入的函数模板,它的作用是实现函数参数的完美转发,通俗的讲就是根据传入的参数,决定将参数以左值引用还是右值引用的方式进行转发。
十五年专注C++开发
·
2023-12-24 02:11
#C++
c++
开发语言
c++11
特新:弱引用智能指针
弱引用智能指针std::weak_ptr可以看做是shared_ptr的助手,它不管理shared_ptr内部的指针。std::weak_ptr没有重载操作符*和->,因为它不共享指针,不能操作资源,所以它的构造不会增加引用计数,析构也不会减少引用计数,它的主要作用就是作为一个旁观者监视shared_ptr中管理的资源是否存在。1.初始化//默认构造函数constexprweak_ptr()noe
想不出来_6
·
2023-12-23 23:13
c++
开发语言
笔记
c++11
特性:右值引用的作用以及使用
右值:
C++11
增加了一个新的类型,称为右值引用(R-valuereference),标记为&&。
想不出来_6
·
2023-12-23 23:42
c++
算法
开发语言
笔记
C++11
特性:共享智能指针
在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smartpointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露。智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1,每析构一次内部的引用计数减1,减为0时,删除所指向的堆内
想不出来_6
·
2023-12-23 23:42
c++
开发语言
笔记
c++11
特性:独占的智能指针
在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smartpointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露。智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1,每析构一次内部的引用计数减1,减为0时,删除所指向的堆内
想不出来_6
·
2023-12-23 23:12
c++
开发语言
笔记
C++11
特性:C++线程类 thread
C++11
之前,C++语言没有对并发编程提供语言级别的支持,这使得我们在编写可移植的并发程序时,存在诸多的不便。
想不出来_6
·
2023-12-23 23:07
c++
开发语言
笔记
C/C++知识补充
1.在
C++11
标准里面,auto能从声明的初始化表达式中推导出变量的类型,如autoa=100;和inta=100;等价2.longlong才是64位,long和int是等价的,都是32位。
阿袁的小园子
·
2023-12-23 20:45
C/C++
左值、右值、左值引用和右值引用
右值引用:
C++11
中新增加的一个很重要的特性,他主是要用来解决C++98/
jacobD
·
2023-12-23 16:15
c++
左值右值引用,完美转发
1.c++98/03,类模板和函数模板只能含固定数量的模板参数,
c++11
的新特性可以创建接受可变参数的函数模板和类模板//Args是一个模板参数包,args是一个函数形参参数包//声明一个参数包Args
C1238888
·
2023-12-23 16:44
java
jvm
数据库
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第八章 muduo网络库设计与实现(下)
在
C++11
中应该也足够高效,因为shared_ptr具备移动语义,可以做到引用计数值始终不变,没有原子操作的开销。但用s
吃着火锅x唱着歌
·
2023-12-23 14:26
C++网络库
linux
c++
网络
C++——
C++11
(1)
时至今日,C++标准已经到了C++23,但是你要说哪一次提出的标准最经典,那
C++11
一定会被人提及,
C++11
带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正
歪~~
·
2023-12-23 06:03
c++
开发语言
C++——
C++11
(2)
我在我的C++异常博客中曾提到,对于异常的处理经常会导致内存泄漏问题,一种解决方法是异常的重新抛出,还有一种就是RAII,那么RAII的思想体现在C++中就是智能指针,所以接下来我将简单的介绍,什么是RAII,以及什么是智能指针。1.初识智能指针在学C++的人,还没有接触智能指针的时候,就会想智能指针到底是什么啊?它真的是智能的吗?其实智能指针只是人们给它起了个这样的名字,它并不是智能的。我们首先
歪~~
·
2023-12-23 06:03
c++
开发语言
C++11
特性-概览
C++11
(也称C++2.0、ModernC++)是继C++98(C++1.0)之后的第二个国际标准规格,其对C++的改变是全方位的,有人也说
C++11
是一门新的语言。
WalkeR_ZG
·
2023-12-23 05:01
【【
C++11
特性篇】【强制/禁止 】生成默认函数的关键字default&delete(代码演示)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.强制生成默认函数的关键字default
YY的秘密代码小屋
·
2023-12-23 03:12
YY滴《C++11特性系列》
YYの小小知识点
c++
java
开发语言
【
C++11
特性篇】模板的新一力将:可变参数模板 [全解析]
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.引入:为什么printf可以支持多个参数的输入
YY的秘密代码小屋
·
2023-12-23 03:42
YY滴《C++11特性系列》
YY
滴
《C++系列》
c++
java
数据库
【
C++11
特性篇】新的类功能解读:新增加的[移动构造函数/移动赋值运算符重载]
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.相关知识点传送门(移动语义&右值引用
YY的秘密代码小屋
·
2023-12-23 03:41
YY
滴
《C++系列》
YY滴《C++11特性系列》
c++
java
jvm
【C++】可变参数模板使用总结(简洁易懂,详细,含代码演示)
YY的《C++》专栏YY的《
C++11
》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏目录一.可变参数模板【1】基本可变参数的函数模板演示
YY的秘密代码小屋
·
2023-12-23 03:39
YYの小小知识点
c++
java
数据库
4.1 右尖括号>的改进
C++11
之前对于双右尖括号优先解析为右移操作符,因此一些场景下会导致编译报错,比较典型的有:模板参数传入模板类templateclassX{};templateclassY{};Y>y;//报错Y>y
小黑屋1024
·
2023-12-22 22:15
深入理解C++11新特性
C++11
4.3 decltype
decltypec++98支持RTTI(runtimetypeIdentification),RTTI就是为每个类型产生一个type_info类型的数据,并提供接口type_id(x)获取type_info.而在
C+
小黑屋1024
·
2023-12-22 22:14
深入理解C++11新特性
C++11
4.2 auto类型推导
如Python、Perl、JavaScript本质区别在于类型检查时机,静态在编译期,动态在运行时(依赖类型推导)
C++11
引入了两种类型推导:auto和decltype。
小黑屋1024
·
2023-12-22 22:14
深入理解C++11新特性
C++11
【C++入门到精通】互斥锁 (Mutex)
C++11
[ C++入门 ]
阅读导航引言一、Mutex的简介二、Mutex的种类1.std::mutex(基本互斥锁)2.std::recursive_mutex(递归互斥锁)3.std::timed_mutex(限时等待互斥锁)4.std::recursive_timed_mutex(限时等待递归互斥锁)三、总结温馨提示引言在多线程编程中,保证数据的同步和互斥是至关重要的。而互斥锁(Mutex)作为一种常用的同步机制,在C
Yawesh_best
·
2023-12-22 19:15
C++
c++
java
jvm
devc++添加
C++11
编译环境
进入编译器选项在编译时加入以下命令前面打上勾,并在编译时加入以下命令的内容框内输入-std=
c++11
。用
C++11
特有的特性进行测试,看是否成功。
golemon.
·
2023-12-22 15:12
算法题
c++
开发语言
【C++】
C++11
新特性
C++11
新特性目录
C++11
新特性1.Auto关键字2.basedfor3.列表初始化4.智能指针5.移动语义6.Lambda7.多线程支持8.强制类型转换9.右值引用10.constexpr1.Auto
爬树攻城狮
·
2023-12-22 14:13
c++
java
开发语言
c++11
标准模板(STL)(std::pair)(五)创建一个 pair 对象,其类型根据各实参类型定义
创建一个pair对象,其类型根据各实参类型定义std::make_pairtemplatestd::pairmake_pair(T1t,T2u);(
C++11
前)templatestd::pairmake_pair
繁星璀璨G
·
2023-12-22 09:20
#
std::pair
c++
标准库模板
pair
tuple
一个单元存储两个相异对象
C++STL(7) unordered_map容器汇总
std::unordered_map是
C++11
引入的关联容器,基于哈希表(HashTable)实现。
Pigwantofly
·
2023-12-22 07:40
C
++语法知识
c++
哈希算法
开发语言
【
C++11
特性篇】右值引用变量的属性会被编译器识别成左值【详解&证明&代码演示】
前言大家好吖,欢迎来到YY滴
C++11
系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!
YY的秘密代码小屋
·
2023-12-22 03:03
YY滴《C++11特性系列》
YY
滴
《C++系列》
YYの小小知识点
c++
开发语言
【
C++11
特性篇】一文带小白轻松理解【万能引用(引用折叠)】&【完美转发】
前言大家好吖,欢迎来到YY滴
C++11
系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!
YY的秘密代码小屋
·
2023-12-22 03:03
YY
滴
《C++系列》
YY滴《C++11特性系列》
c++
开发语言
【
C++11
特性篇】lambda表达式玩法全解
前言大家好吖,欢迎来到YY滴C++系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!目录一.lambda解决个性化排序问题[1]设计商品结构体[2]利用仿函数(函数对象)解决个性化排序一览[3]利用lambda解决个性化排序一览二.lambda表达式语法1)lambda表达式总览2)lambda的返回值类型一般可以省略3)捕捉列
YY的秘密代码小屋
·
2023-12-22 03:33
YY
滴
《C++系列》
YY滴《C++11特性系列》
c++
java
开发语言
C++11
文章目录
C++11
简介列表初始化auto和decltypeSTL容器的变化可变参数模板正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。
不是笨小孩i
·
2023-12-21 20:58
C++
c++
开发语言
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他