首页 > 编程语言 >c++ well-formed

c++ well-formed

时间:2023-02-11 10:23:38浏览次数:28  
标签:sharedptr formed well c++ 编译器 lambda

这里用一个lambda来作为shared ptr的删除器,lambda没有做任何操作,保证这份数据的内存管理不受这个sharedptr影响。
编译器报错:static assertion failed due to requirement ***deleter expression is well-formed

所以lambda删除器接受的参数必须是sharedptr管理的对象类型。不过加上了noexcept不是必须的,不过显然这个删除器不会抛出异常,可以让编译器执行某些优化。

标签:sharedptr,formed,well,c++,编译器,lambda
From: https://www.cnblogs.com/ijpq/p/17110954.html

相关文章

  • C++字符串与int等其他类型的拼接
    利用标准库的to_string函数测试程序:voidtest(){vector<string>joints;for(inti=1;i<6;i++){stringstr="joint";......
  • c++学习6 指针变量
    一指针变量的定义*是用来修饰指针变量的,通常情况下我们定义的手法都是“类型名”+“*”+“指针变量名称”。有一种简单无脑的“替换法”,作用是防止小括号遗漏而导致定义出......
  • 学习C++第四天
    操作符算数操作符:+-*/%移位操作符:>><<位操作符:&--按位与^--按位异或|--按位或赋值操作符:=+=-=*=/=&=^=|=......
  • C++面向对象学习记录(持续更新中)
    前言C++和C语言的区别C++是C语言的超集,它在C语言的基础上新增了许多面向对象编程的特性,如类、对象、继承、多态等。因此,C++语言比C语言更加灵活、强大。另外,C++还支持模......
  • C++多线程
    语言级别的多线程,优点是跨平台底层仍然是调用系统API(识别不同系统,调用不同的系统调用)创建线程头文件threadthread的构造函数:thread()noexcept//构造线程对象,不执行......
  • Dev-C++ 安装教程
    下载地址:https://sourceforge.net/projects/orwelldevcpp/下载完成,在指定的下载位置有一个安装包:双击开始安装程序安装是默认英文安装即可,在启动后可以配置为简体......
  • 2023 2 4 c++NOIP机试 小豫豫在郑州 type
    1#include<iostream>2#include<string>3usingnamespacestd;4intj(stringstr){5ints=0;6if(str=="a"||str=="d"||str=="g"||str=="......
  • 算法刷题-回文数、找出小于平均值的数、旋转图像(C/C++)
    回文数给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例1:......
  • 【C++复习】第六章 数组、指针、字符串
    1、数组1.1基本数组数组声明inta[10];声明时方括号内是元素个数。下标从0开始。第一个元素是a[0],最后一个元素是a[9]a[n]表示的是第n+1个元素二维数组intb[3]......
  • C++ 机试题1
    #include<iostream>usingnamespacestd;intchazhao(intsum,stringsum1){if(sum1=="a"||sum1=="d"||sum1=="g"||sum1=="j"||sum1=="m"||sum1=="p"|......