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++17
【C++新特性】
C++17
结构化绑定
1.1更详细的阐述结构化绑定1.1.1绑定到匿名对象1.1.2使用修饰符1.1.3修饰符并非修饰结构化绑定1.1.4移动语义1.2结构化绑定可以在哪使用1.2.1结构体和类1.2.2原生数组1.2.3std::pair,std::tuple和std::array1.3为结构化绑定提供类似tuple的API1.3.1只读结构化绑定1.3.2结构化绑定写操作1.结构化绑定结构化绑定:通过对象的元素或成
guangcheng0312q
·
2024-09-14 01:06
c++
编程语言
指针
hashmap
c++11
C++17
非类型模板参数的auto 和 DevC++ 支持
C++17
模板参数分为两种,一种是类型模板参数,也是我们用得最多的一种:templateautoadd(Tt,Uu){returnt+u;}里面的T和U都是类型模板参数。另一种是非类型模板参数,它可以让不同的字面量成为模板的参数:templateclassbuffer_t{public:T&alloc();voidfree(T&item);private:Tdata[BufSize];}buffer_tbu
bcbobo21cn
·
2024-09-14 01:06
VC++
C++11
C++17
auto
类型模板参数
非类型模板参数
C++玩转模板之——函数萃取function traits
目录前言一、实现原理(一)可调用类型萃取(二)成员函数萃取二、完整代码总结前言当笔者在实现一个类似函数包装器的类模板时(代码示意如下),希望能够传入一个可调用对象来构造,并自动推导出模板(
C++17
及以上
东川路徐先生
·
2024-09-12 14:56
c++
ISO C++ 和 GNU C++ 的区别
1.ISOC++标准(-std=c++11,-std=c++14,-std=
c++17
,等)定义:ISOC++标准是由国际标准化组织(ISO)制定的C++语言标准。
wq_151
·
2024-09-02 06:15
计算机通识
问题解决办法
c++
gnu
C++11标准模板(STL)- 动态内存管理 - 销毁范围中一定数量的对象 - (std::destroy_n)
动态内存管理未初始化存储提供数个工具以创建并访问未初始化存储销毁范围中一定数量的对象std::destroy_ntemplateForwardItdestroy_n(ForwardItfirst,Sizen);(1)(
C+
繁星璀璨G
·
2024-09-01 17:19
#
未初始化存储
c++
开发语言
算法
STL
未初始化存储
[Cmake]cmake指定C++版本
CMakeLists.txt示例:cmake_minimum_required(VERSION3.5.0)project(HelloWorld)#指定使用C++17set(CMAKE_CXX_STANDARD17)#强制使用
C+
刘好念
·
2024-08-28 20:08
C++
c++
开发语言
cmake
【C++】-获取某个目录下的所有文件名
但是标准库的filesystem在
C++17
被引入,项目又不能升级到
C++17
。通过搜索资料发现,filesystem在14和11的ex
强里秋千墙外道
·
2024-08-24 10:52
c++
开发语言
【QT教程】QT6与
C++17
QT与C++新特性
QT6与
C++17
使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程
QT性能优化QT原理源码QT界面美化
·
2024-08-24 05:23
qt
qt6.3
qt5
c++
QT教程
C++之std::any
std::any是
C++17
引入的一种通用类型包装,允许在运行时存储和检索任何类型的值。你可以将不同类型的值放入std::any对象中,然后在需要时检索出原始类型。
千山万水人海中666
·
2024-03-13 18:13
C++
c++
开发语言
C++ 20标准协同程序(协程)基于编译器展开的 stackless 协程。
博客我本人相当反对,在项目之中使用C++20标准的stackless无栈协程,在上述博文之中明确提到了大体的原因是什么,并且C/C++越新的标准越存在不可预计的编译风险性问题,目前基本可以确保稳定的C++编译器标准为
C+
liulilittle
·
2024-03-07 08:30
C/C++
c++20
c++
《白话C++》第10章 STL和boost,Page97 shared_ptr管理数组
:unique_ptr可以管理单一对象,也可以管理堆数组:std::unique_ptra(newint[9]);a[0]=1;std::unique_ptr这个本事,std::shared_ptr在
C+
yanzhenxi
·
2024-02-20 20:20
《白话C++》智能指针专辑
《白话C++》学习
《白话C++》第10章
STL和boost
c++
if--c++17--变量+表达式
=v.end()){std::cout<
C++17引入的一个新的语法结构,称为"ifwithinitializer",它允许我们在
猿饵块
·
2024-02-20 11:09
c++
java
开发语言
基于Qt的RTL可视模拟器(VSRTL)配置
VSRTL依赖于
C++17
工
吹角连营G
·
2024-02-20 03:20
qt
ubuntu
系统架构
自定义线程池
自定义线程池注意:需要
c++17
或c++20的支持代码实现:#ifndefTHREADPOOL_H#defineTHREADPOOL_H#include#include#include#include#
-_Matrix_-
·
2024-02-13 10:18
开发语言
c++
c++23中的新功能之十九继承的CTAD
二、继承的CTAD在前面的《跟我学c++高级篇——
c++17
类模板实参推导CTAD》中,已经知道在
c++17
后放宽了对一些构造函数中的模板参数的显示指定而转为由编译器自动推导出来,而今天就要分
fpcc
·
2024-02-12 17:56
C++11
C++
c++23
c++
23. 合并 K 个升序链表
新学的
C++17
的推导指引classSolution{public:ListNode*mergeKLists(vector&lists){lists.erase(remove_if(lists.begin
Python ml
·
2024-02-12 10:58
LeetCode
链表
数据结构
C/C++编程:聚合初始化
必须符合下面条件没有私有或者受保护非静态数据成员没有用户声明的构造函数没有用户提供的构造函数(允许显式预置或弃置的构造函数)没有用户提供、继承或explicit构造函数(允许显式预置或弃置的构造函数)没有用户声明或者继承的构造函数没有虚、私有或受保护(
C+
OceanStar的学习笔记
·
2024-02-12 08:57
C++
C++结构化绑定
本文章主要解释
C++17
之后的一个语法特性–结构化绑定。
春风LiuK
·
2024-02-11 06:55
C++学习
c++
c++17
c++17std::invoke#include#include//c++17std::invokeusingnamespacestd;classMyClass{public:intmemberVariable=10;voidmemberFunction(inta,intb){std::cout<<"Memberfunctioncalled!a:"<
weixin_110
·
2024-02-10 03:26
CPP
c++
secretflow推理服务源码解读
secretflow-serving使用了
C++17
,代码也写的很清晰易懂,本文就结合它的架构解读一
SakamataZ
·
2024-02-08 22:20
推理引擎
C++11异步任务轮子实现(header-only)
为什么写这个
C++17
异步任务需要future和promise配合使用,不是很喜欢那种语法。实现一个操作简洁的异步任务。
Y. F. Zhang
·
2024-02-08 09:25
C++
多线程编程
数据结构
c++
开发语言
算法
小Redis:开源一款迷你
C++17
KV内存型数据库
AKVhigh-performancemini-databasebasedonmemoryandC++17ThisprojectisinspiredbyRedissourcecode.部分模仿Redis源码。https://github.com/ZYunfeii/MiniKVCommandlinetoolsDevelopedcommandlinetoolkvctl.valuetype:string
Y. F. Zhang
·
2024-02-08 09:24
C++
计算机网络
Linux
redis
数据库
哈希算法
C++17
———— std::optional、std::variant和std::any
std::optionalTheclasstemplatestd::optionalmanagesanoptionalcontainedvalue,i.e.avaluethatmayormaynotbepresent.Acommonusecaseforoptionalisthereturnvalueofafunctionthatmayfail.这个东西比较难讲清楚具体是干啥的,这里直接举一个例子:
弹吉他的小刘鸭
·
2024-02-07 22:02
C++
【C++11/
C++17
】左值与右值
左值和右值是C++中的两个重要概念,它们涉及到变量的存储位置和生命周期。左值(Lvalue)左值表示一块具有确定地址的内存单元。它表示一个具体的、明确存在的存储单元。可以被取地址运算符(&)获取其地址。变量、数组元素、函数参数等都是左值。右值(Rvalue)右值表示一个临时的、不拥有自己名字的内存单元。它通常出现在赋值语句的右侧,如常量、字面量、临时对象等。不能被取地址运算符(&)获取其地址。右值
_君莫笑
·
2024-02-06 22:14
c++
开发语言
C++11
C++多线程:锁管理(lock)
对于多线程,无法避免要使用到锁对共享资源的保护,这一节我们就来学习现代C++对于锁的管理(lock),上一节我们已经学习了现代C++对应的mutex,直到
C++17
,一共有六种类型。
胖小迪
·
2024-02-06 22:59
CPP
c++
开发语言
后端
在静态编译中判断对象是否具有某个成员函数或变量 - C++模板
判断类中是否有指定名称的成员函数,或者变量,通过编译期进行计算:
C++17
提供支持//判断某个对象是否具有某个函数templatestructIs_func:std::false_type{};templatestructIs_func
饼干++
·
2024-02-04 22:47
C++
c++
开发语言
C++ std::tuple 作为函数返回值的一个简单用法
C++17
C++std::tuple作为函数返回值的一个简单用法
C++17
看到很多std::tuple的资料,但用起来很不方便,不能像python那样随心所欲。
柯西等式
·
2024-02-03 19:28
c++
c++17
tuple
C++之std::tuple(一) : 使用
直接初始化方式2.2.使用花括号初始化列表方式(C++11及以上版本)2.3.make_tuple方式2.4.使用std::tie()函数方式3.元素访问3.1.std::get()方式3.2.使用结构化绑定(
C+
流星雨爱编程
·
2024-02-03 19:48
#C++基础
c++
开发语言
【C++】filesystem
文章目录1.基本配置1.1.VS2019修改C++标准1.2.filesystem的引入2.日常使用2.1.认识2.2.控制台输入路径并对路径进行基本操作是
C++17
标准引入的标准库,主要用于处理文件系统的目录和文件操作
盛世隐者
·
2024-02-03 13:00
疑难解答
C++
filesystem
C++11 封装nanodbc库可变长模板参数方式
代码如下,CMakeLists.txtcmake_minimum_required(VERSION2.6)project(sf_db2_test)add_definitions(-std=
c++17
)add_definitions
FredricZhu
·
2024-02-02 18:33
C++ 读写锁
需要boost库支持,或者
C++17
原生支持std::shared_mutex#include#includeusingnamespacestd;typedefboost::shared_mutexSharedMutex
qq_38781075
·
2024-01-30 22:53
c++
算法
开发语言
C++中, barrier的使用
barrier在C++20中引入了std::barrier类(
C++17
中是std::experimental::barrier),它是一种同步原语,用于在线程间同步和协调。
zhaoyqcsdn
·
2024-01-29 13:39
C++
c++
开发语言
C/C++ 开源日志库log4cplus的编译和使用
github上面,目前最新release版本是2.0.7https://github.com/log4cplus/log4cplus官网上一句话描述log4cplus:log4cplus是一个易于使用的
C+
much0726
·
2024-01-28 07:04
c++
p2p
开发语言
C++17
中lambda表达式新增加支持的features
C++17
中对lambda表达式新增加了2种features:lambdacaptureof*this和constexprlambda1.lambdacaptureof*this:*this:拷贝当前对象
fengbingchun
·
2024-01-28 01:29
c++17
C方式实现文件保存
之前设备上需要保留各个组建的通讯协议帧,本来
C++17
已经提供了filesystem库实现,奈何编译器没有更新,不支持,只好用C的方式实现了,主要实现代码如下:#include#include#include
技术的微光
·
2024-01-27 23:37
c语言
开发语言
c++
C++实现并行和异步任务,DAG流水线的开源库-Taskflow
Taskflow是一个基于
C++17
的开源库,用于实现并行和异步任务的流水线。它提供了一个灵活而高效的框架,使得开发者能够方便地定义和执行任务流程,利用多核处理器的并行性能。
zhaoyqcsdn
·
2024-01-27 18:47
C++
c++
开源
开发语言
taskflow 源码阅读笔记-1
之前写了一篇介绍Taskflow的短文:传送门Taskflow做那种有前后依赖关系的任务管理还是不错的,而且他的源码里运用了大量
C++17
的写法,觉得还是非常值得学习的,因此决定看一下他的源码,这里顺便写了一篇代码学习笔记
zhaoyqcsdn
·
2024-01-27 18:43
C++
笔记
c++
经验分享
C++ 实现 std::is_shared_ptr、std::is_unique_ptr 模板(判断是否为智能指针)
比如:C++11标准上面,是不支持这两个SFINAE测试模板的
C++17
也并非任何版本都支持,如果想要保证代码在编译器上面的通用性,我们是需要自行实现这两个模板类的。
liulilittle
·
2024-01-25 16:19
C/C++
c++
开发语言
C++17
新特性(四)已有标准库的拓展和修改
这一部分介绍
C++17
对已有标准库组件的拓展和修改。
CHAK&MING
·
2024-01-24 03:22
C++
c++
C++17
新特性(三)新的标准库组件
1.optional在编程时,我们经常会遇到可能会返回/传递/使用一个确定类型对象的场景。也就是说,这个对象可能有一个确定类型的值也可能没有任何值。因此,我们需要一种方法来模拟类似指针的语义:通过nullptr表示指针为空。解决方法就是定义该对象的同时再定义一个附加的bool类型来标志该对象有没有值。std::optional就是提供了一种类型安全的方式来实现。1.1使用optional1.1.1
CHAK&MING
·
2024-01-24 03:52
C++
c++
开发语言
泛型编程-常用模板
1.变参数模板的基础-模板形参包1.1非类型模板形参包(
c++17
引入)非类型(固定)
冷瑾瑜
·
2024-01-23 22:21
C++
c++
开发语言
C++智能指针
忘了或漏了释放程序员也不知道何时释放内存智能指针设计思路智能指针是类模板,在栈上创建智能指针对象把普通指针交给智能指针对象智能指针对象过期时,调用析构函数释放普通指针的内存智能指针类型auto_ptrC+++98标准但是
C+
yb0os5
·
2024-01-23 18:37
C++
c++
java
开发语言
C++新标准(也称现代C++)
C++新标准是指C++11、C++14、
C++17
和C++20这四个版本,它们分别于2011年、2014年、2017年和2020年发布。
scx_link
·
2024-01-23 13:47
C
and
C++的笔记
c++
开发语言
为什么
C++17
要引入std::string_view?
目录1.引言2.原理分析2.1.结构2.2.构造函数2.3.成员函数2.4.std::string_view字面量3.实例3.1.std::string_view和std::string的运算符操作3.2.查找函数使用3.3.std::string_view和临时字符串4.总结1.引言在C/C++日常编程中,我们常进行数据的传递操作,比如,将数据传给函数。当数据占用的内存较大时,减少数据的拷贝可以
流星雨爱编程
·
2024-01-22 08:35
#编程技巧
#C++进阶
c++
开发语言
C++函数对象-函数包装器-从成员指针创建出函数对象(std::mem_fn)
从成员指针创建出函数对象std::mem_fntemplate/*unspecified*/mem_fn(MT::*pm);(C++11起)(
C++17
前)template/*unspecified*/
繁星璀璨G
·
2024-01-21 17:40
#
函数包装器
c++
标准库模板
STL
函数对象
函数包装器
mem_fn
C++17
新特性(二)模板特性
1.类模板参数推导在
C++17
之前,你必须明确指出类模板的所有参数,例如:complexc{5.1,3.3};mutexmx;lock_guardlg(mx);
C++17
起必须指明类模板参数的限制被放宽了
CHAK&MING
·
2024-01-20 02:18
C++
c++
C++17
新特性(一)基本语言特性
1.结构化绑定假设你有两个不同成员的结构体:structMyStruct{inti=0;std::strings;};MyStructms;你可以通过如下声明直接把两个成员绑定到新的变量名:auto[u,v]=ms;这种声明方式就称为结构化绑定。下面这段代码演示了结构化绑定带来的好处。在不使用结构化绑定遍历std::map是这样的。for(constauto&elem:mymap){cout::v
CHAK&MING
·
2024-01-20 02:18
C++
c++
C++ 17/20/23可变参数模板类继承使用示例(低于
c++17
可参考)
#include//测试类classBaseA{public:voidprint(intv){std::coutclassVariableTypeClass_A:publicArgs...{public://如果继承了Args类,并且类中的函数print是重载关系。//需要通过using进行声明.如果继承的基类中函数相同,并且都用了using声明,则会报歧义错。usingArgs::print..
_虚竹
·
2024-01-19 03:24
C/C++
c++
C++学习笔记(四十二):c++ 结构化绑定
本节介绍c++结构化绑定,改知识点是
c++17
中增加的新特性,主要是用来处理c++多返回值的问题。
pcop
·
2024-01-18 06:38
c++
学习
笔记
C++学习笔记(四十四):c++ variant单一变量存放多种数据类型
本节介绍的也是
c++17
中的新特性variant,用来处理单一变量存放多种数据类型。大致意思是我们不用关心变量的具体类型,在之后用的术后在考虑变量的具体类型。
pcop
·
2024-01-17 16:18
c++
学习
笔记
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他