error: static assertion failed: std::atomic requires a trivially copy type

news2025/1/11 22:59:50

1. 报错信息

在这里插入图片描述
编译期错误,gcc version 7.5.0

错误示例代码:

#include <atomic>
#include <iostream>
#include <vector>

int main()
{
    std::atomic<std::vector<int>> a;
}

2. 问题分析

报错信息里明确说了,atomic类需要一个trivially copy type,所以关键就在于什么是trivially copy type
在https://en.cppreference.com/w/cpp里边,解释了什么是trivially copy type
在这里插入图片描述cppreference对TriviallyCopyable的稍微总结了一下,“这意味着可平凡复制类没有虚函数或虚基类”。

我们一条一条看
TriviallyCopyable类型主要分为三类:

  • 标量类型
    这里的标量我猜测应该是int,double,long之类的内置类型。

  • 而对于类,cppreference说的6条,可以总结成三条:
    ①这个类,至少一个复制构造函数、移动构造函数、复制赋值运算符或移动赋值运算符未弃置 ,就是至少有一个未被delete;
    ②未被弃置的复制构造函数、移动构造函数、复制赋值运算符或移动赋值运算符都是平凡的;
    ③析构函数也得是平凡的。
    所以,主要问题在于,“平凡”是个什么意思?这个后边说
  • TriviallyCopyable对象组成的数组,这个好理解。

关于“平凡”,cppreference给出的解释是这样的:

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

其实都差不多,主要在于一是不能由用户显示定义,二是该类不能存在虚函数以及虚基类,这也是cppreference说“这意味着可平凡复制类没有虚函数或虚基类”的由来。

再回到文章文章开头的示例代码,问题就变成了std::vector\<int\>是不是TriviallyCopyable了,答案明显是否定的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商品说明书的翻译,中译英如何翻译效果好?

众所周知&#xff0c;国内产品进入国际市场&#xff0c;商品说明书的翻译是必不可少的&#xff0c;译文必须以准确的语言表达出原文的信息。那么&#xff0c;针对商品说明书翻译&#xff0c;中译英如何翻译效果好&#xff1f; 业内人士指出&#xff0c;很多商品说明书包含有关产…

学习PCL库:PCL库中的geometry模块介绍

公众号致力于点云处理&#xff0c;SLAM&#xff0c;三维视觉&#xff0c;高精地图等领域相关内容的干货分享&#xff0c;欢迎各位加入&#xff0c;有兴趣的可联系dianyunpcl163.com。未经作者允许请勿转载&#xff0c;欢迎各位同学积极分享和交流。 geometry模块介绍 PCL库中的…

【万字更新】Python基础教程:第六章_数据容器

原创&#xff1a;公众号 数据说话 【万字更新】Python基础教程&#xff1a;第六章_数据容器 为什么学习数据容器 思考一个问题&#xff1a;如果我想要在程序中&#xff0c;记录5名学生的信息&#xff0c;如姓名。 最好的方法是不是简单的定义5个字符串变量就可以了 name1&…

基于AT89C51单片机的计算器设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87772564 源码获取 主要内容: 本设计是基于51系列的单片机进行的设计,可以完成计算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。设计过…

TOB企业如何借助生态力,实现可持续增长

近年来&#xff0c;随着经济社会的高速发展&#xff0c;数字化转型已成为企业高质量发展“必答题”。企业开始通过购买产品、解决方案或者自研的方式来进行本企业的数字化建设。但是由于内部部门墙或者是系统之间的隔阂&#xff0c;难以做到以整个公司为视角的全面数字化建设&a…

数据库专题:数据库初学者的数据一致性

在这篇文章中&#xff0c;我将分享我在数据库学习课程中学到的知识&#xff0c;了解到目前为止让我着迷的数据库主题。 ​1&#xff1a;序言 在 2022 年底&#xff0c;当主题是数据库时&#xff0c;我决定把事情弄清楚&#xff0c;因为这总是一种痛苦&#xff0c;作为后端开发…

虚拟汽车加油问题——算法设计与分析(C实现)

目录 一、问题描述 二、问题剖析 三、代码实现 四、结果验证 一、问题描述 问题描述&#xff1a;一辆虚拟汽车加满油后可行驶n km。旅途中有若干加油站。设计一个有效算法&#xff0c;指出应该在那些加油站停靠加油&#xff0c;使沿途加油次数最少。并证明算法的能产生一个…

安卓Webview网页秒开策略探索

1 人赞同了该文章 痛点是什么&#xff1f; 网页加载缓慢&#xff0c;白屏&#xff0c;使用卡顿。 为何有这种问题&#xff1f; 1.调用loadUrl()方法的时候&#xff0c;才会开始网页加载流程 2.js臃肿问题 3.加载图片太多 4.webview本身问题 webiew是怎么加载网页的呢&…

品优购项目学习记录--01公共模块制作

文章目录 一、品优购项目规划1.1 开发工具以及技术栈1.1.1 开发工具1.1.2 技术栈 1.2 品优购项目搭建工作1.2.1 相关文件夹以及文件创建1.2.2 模块化开发1.2.3 网站favicon图标1.2.4 网站TDK三大标签SEO优化 二、品优购首页制作2.1 常用模块类名命名2.2 快捷导航shortcut制作2.…

传统的二次开发有哪些痛点问题?低代码平台帮你解决

一、什么是二次开发呢&#xff1f; 简单的来讲&#xff0c;二次开发就是在原有得软件中进行功能等方面得修改或者扩展&#xff0c;但是不改变原有系统的内核。 二、传统的二次开发有哪些痛点问题&#xff1f; 很多企业在业务发展的过程中会产生各种各样不同得需求&#xff0…

融云亮相「中国信息技术应用创新大会」,入选数字化转型优秀方案集

4 月 27 日&#xff0c;以“全栈创新 从可用到好用”为主题的“2023 第六届中国信息技术应用创新大会”在京顺利召开。移步【融云全球互联网通信云】回复“地图”限量免费领《社交泛娱乐出海作战地图》 大会以“论坛展示展览”的方式&#xff0c;全面、深入地反映信创产业的最新…

基于Android studio的机票管理app设计与开发案例

一 功能介绍 1. 用户模式功能&#xff1a; 用户注册登录功能&#xff08;账号、密码&#xff09;&#xff1b;航班信息&#xff08;航班号、起飞时间、登机时间、起点、终点、登机口&#xff09;&#xff1b;购买机票机票信息&#xff08;航班号、审核状态、乘客姓名、联系方…

Windows平台Qt超详细安装——5.9.6版本以及5.9都差不多,(仔细看,一定学会,学不会怪我)

目录 一、Qt 开发环境&#xff08;Windows&#xff09; 二、设置 QtCreator 编译路径 三、设置 Qt 源码路径 四、QtCreator 介绍 一、Qt 开发环境&#xff08;Windows&#xff09; ①官网下载地址&#xff1a;&#xff08;对应版本&#xff0c;可以在这个网址下面自己找&a…

字节给的比我想的还多?网友看完:打死也要去

曾经的互联网是PC的时代&#xff0c;随着智能手机的普及&#xff0c;移动互联网开始飞速崛起。而字节跳动抓住了这波机遇&#xff0c;2015年&#xff0c;字节跳动全面加码短视频&#xff0c;从那以后&#xff0c;抖音成为了字节跳动用户、收入和估值的最大增长引擎。 自从字节…

【2023考研】双非末流二本非科班一战上岸杭电经验帖

一、作者背景 我本科就读于黑龙江省某末流二本双非大学的物联网工程专业&#xff0c;专业排名一般就在20&#xff05;左右&#xff0c;在校期间无科班竞赛经验&#xff0c;只参加过大学生数学竞赛和杭电要求的PAT考核乙级&#xff0c;项目方面只参加过大创比赛以及专业的课程设…

短视频矩阵多账号系统应用技术开发.源码

抖音矩阵号管理系统是一款用于管理抖音矩阵号的软件&#xff0c;具有如下特点&#xff1a; 1. 用户管理&#xff1a;支持多用户管理&#xff0c;可以指定每个用户对应的抖音矩阵号。 2. 粉丝管理&#xff1a;支持实时查看粉丝数量、关注者数量、点赞数量等统计数据&#xff0c…

学系统集成项目管理工程师(中项)系列20_变更管理

1. 许多项目失败的原因就是由于对变更的处理不当 2. 变更管理是为了使项目实际执行情况和项目基准相一致而对项目变更进行管理&#xff0c;其可能的结果是拒绝变更或调整基准 3. 分类 3.1. 性质 3.1.1. 重大变更 3.1.2. 重要变更 3.1.3. 一般变更 3.1.4. 通过不同审批权…

【Linux】Linux权限,shell命令以及运行原理

之前我们一直敲得命令和口口声声说的shell到底是什么呢&#xff1f;命令行提示符和输入的指令并且可以执行都是通过命令行解释器来实现的&#xff0c;那么命令行解释器就是我们常说的shell&#xff0c;具体我们看下面&#xff01; 目录 一、shell命令以及运行原理 二、Linux权…

百亿量化私募高薪急招C++

百亿量化私募高薪急招C&#xff01; 秋招/校招/社招&#xff0c;21/22/23届可 base北上杭深 现招岗位:C量化系统开发工程师 年base40-80万bonus 通过这里找到我 slam_pan 工作职责 1. 参与交易平台的设计、开发与测试&#xff0c;实现交易策略、风控等需求&#xff1b; 2. 开发…

【DahO安装及使用】

1 安装 Step 1&#xff1a;官网注册帐号 注册地址在这里&#xff08;注册完毕默认登录&#xff09; Step 2&#xff1a;点击下载链接&#xff0c;下载你需要的版本 这里&#xff0c;我下载的是DashO的Windows版本。 下载完毕后官方会向您发送邮件&#xff0c;复制其中的&qu…