当前位置: 首页 > article >正文

C++并发与多线程(6) | 传递临时对象作为线程参数的一些问题Ⅲ

一、传递类对象作为线程参数

#include<iostream>
#include<thread>

using namespace std;

class A
{
public:
	mutable int m_i;

	//类型转换构造函数,可以把一个int转换成一个类A对象
	A(int a) :m_i(a) {
		cout << "[A::A(int a)构造函数执行]" << this << "thread_id = " << std::this_thread::get_id() << endl;
	}


	A(const A& a) :m_i(a.m_i) {
		cout << "[A::A(int a)拷贝构造函数执行]" << this << "thread_id = " << std::this_thread::get_id() << endl;
	}

	~A() {
		cout << "[A::~A(int a)析构函数执行]" << this << "thread_id = " << std::this_thread::get_id() << endl;
	}
};


void myprint2(const A& pmybuf)
{
	pmybuf.m_i = 199; // 因为是mutable的,修改该值不会影响main函数
	cout << "子线程myprint2的参数地址是" << &pmybuf << "thread_id = " << std::this_thread::get_id() << endl;// 打

http://www.kler.cn/a/106522.html

相关文章:

  • Flutter:carousel_slider 横向轮播图、垂直轮播公告栏实现
  • 【0x04】HCI_Connection_Request事件详解
  • 解决conda create速度过慢的问题
  • 68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)
  • 代码随想录_字符串
  • CSS实现实现票据效果 mask与切图方式
  • 鼎鑫鸿鄴引入“能源互联网+”理念 打造共赢
  • Redis桌面管理工具:Redis Desktop Manager for Mac
  • 非遗主题网站的设计与实现基于PHP实现
  • C语言 每日一题 PTA 10.27 day5
  • React 中常用的几种路由跳转方式
  • Go 语言使用 XORM 操作 MySQL 的陷阱
  • 开放大学生活的新引领——电大搜题助力重庆开放大学学子实现梦想
  • 【AI视野·今日Robot 机器人论文速览 第五十八期】Thu, 19 Oct 2023
  • Redis 主从
  • 【git命令】修改分支名字
  • 一个Entity Framework Core的性能优化案例
  • 前端 TS 快速入门之四:函数
  • Oracle数据库基础
  • shell的执行流控制
  • 电脑msvcp100.dll丢失了怎么办?详细的5个修复方法
  • 【代码随想录】算法训练计划03
  • Centos7 安装和配置 Redis 5 教程
  • 视频相关学习笔记
  • 云台/稳定器/无人机姿态控制之欧拉角与四元数控制优缺点分析
  • 记一次任意文件下载到Getshell