类类型参数函数调用发生了什么

class Foo{
public:int key;int val;Foo():key(0),val(0){cout<<"无参构造函数\n";}Foo(int k, int v):key(k),val(v){cout<<"有参构造函数\n";}~Foo(){cout<<"析构函数\n";}Foo(const Foo& foc){this->key = foc.key;this->val = foc.val;cout<<"拷贝构造函数\n";}
};Foo func(Foo foo){return foo;
}int main() {Foo foopus(1,1);cout<<"\n";func(foopus);
}

调用func传入foo类型的参数调用几次构造函数,几次析构函数?
答:两次构造,两次析构。
第一次传入函数参数时,会调用拷贝构造函数,构造函数参数里的对象foo。
第二次,函数返回时,会返回一个临时变量,调用拷贝构造函数,从foo拷贝。
对应的有两次析构函数。

有参构造函数拷贝构造函数
拷贝构造函数
析构函数
析构函数
析构函数

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

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

相关文章

【Spring Boot】Spring—加载监听器

这里写目录标题 前言加载监听器执行run方法加载配置文件封装Node调用构造器思考 前言 前几天的时候&#xff0c;项目里有一个需求&#xff0c;需要一个开关控制代码中是否执行一段逻辑&#xff0c;于是理所当然的在yml文件中配置了一个属性作为开关&#xff0c;再配合nacos就可…

笔记1.4 计算机网络性能

1. 速率 速率即数据率&#xff08;data rate&#xff09;或称数据传输速率或比特率 单位时间&#xff08;秒&#xff09;传输信息&#xff08;比特&#xff09;量 计算机网络中最重要的一个性能指标 单位&#xff1a;bps、kbps、Mbps k 10^3、M 10^6、G 10^9 速率往往…

网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)

文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec&#xff1a;2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层…

excel中的引用与查找函数篇2

如下所有案例中表头均不参与范围查找内&#xff1a; 1、LOOKUP(lookup_value,lookup_vector,[result_vector])&#xff1a;在一行或者一列中查找某个值并从另一行或者列中找到同位置的值 记住&#xff1a;中括号内的参数可以不赋值&#xff0c;若在中间用逗号隔开这个参数&…

思维模型 协议

1 模型故事 1.1 社会性质的协议 1 世界观的建立 1 2 3 4 5 6 7 8 9 0 这些阿拉伯数字 如此常见&#xff0c;那么我们是否想过 为什么 这些阿拉伯数字我们如此熟悉&#xff1f;为什么我们要学习这些玩意儿&#xff1f;这些东西为什么大家都要学习&#xff0c;都要使用&#x…

C++数据结构X篇_14_二叉树的递归遍历(先序遍历、中序遍历、后续遍历方法介绍;举例;代码实现)

我们知道数据的存储结构分为线性与非线性。线性就是1对1的结构&#xff0c;像栈与队列都属于线性结构。那什么是非线性的结构呢&#xff1f; 非线性即1对n的结构这更符合常规情况&#xff0c;线性结构本质上属于非线性结构中的一种特殊形式&#xff0c;像树就属于非线性结构。但…

neo4j下载安装配置步骤

目录 一、介绍 简介 Neo4j和JDK版本对应 二、下载 官网下载 直接获取 三、解压缩安装 四、配置环境变量 五、启动测试 一、介绍 简介 Neo4j是一款高性能的图数据库&#xff0c;专门用于存储和处理图形数据。它采用节点、关系和属性的图形结构&#xff0c;非常适用于…

6. 装饰器

UML 聚合(Aggregation)关系&#xff1a;大雁和雁群&#xff0c;上图中空心菱形箭头表示聚合关系组合(Composition)关系&#xff1a;大雁和翅膀 &#xff0c;实心菱形箭头表示组合(Composition)关系 测试代码 #include <iostream> #include <stdio.h> #include &l…

海勒姆法则(Hyrum‘s Law)

在对于共享代码库的足够大的用户群中&#xff0c;有人会依赖于你代码的任何可能特性——包括你的漏洞。 摘要 Hyrum’s Law&#xff0c;海勒姆法则&#xff0c;是软件开发中的一个原则&#xff0c;它的核心思想是&#xff1a;当一个接口被足够数量的用户使用时&#xff0c;不论…

Spring复杂对象的3中创建方法

复杂对象是相对于简单对象可以直接 new 出的对象。这种对象在 Spring 中不可以通过简单对象的创建方式来创建。下面我们将通过实现 FactoryBean 接口、实例工厂、静态工厂三种方法来创建。 FactoryBean 接口 Spring 提供 FactoryBean 接口并且提供了 getObject 方法是为了支持…

“熊猫杯” | 赛宁网安获网络安全优秀创新成果大赛优胜奖

9月11日&#xff0c;四川省2023年国家网络安全宣传周正式启动。由四川省委网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办&#xff0c;成都信息工程大学、四川省网络空间安全协会承办的“2023年网络安全优秀创新成果大赛—成都分站赛(暨四川省‘…

MYSQL 主从搭建详细步骤和测试

MySQL主备搭建 1.主库配置 以下所有操作均在主服务器上执行 1&#xff09;创建用户并授权 create user slave identified with mysql_native_password by 123456 mysql>GRANT REPLICATION SLAVE ON *.* to slave% identified by 123456; //如果用户已存在&#xff0c;会改密…

使用差分进化算法进行关键帧提取:Python实践与详细指南

1. 差分进化算法简介 差分进化算法(Differential Evolution, DE)是一种为实数编码的全局优化问题设计的启发式搜索方法。DE的基本原理是通过对种群中的个体进行差分变异、交叉和选择操作来进化种群,使种群逐渐趋近于问题的全局最优解。 DE算法的基本步骤包括: 初始化:随…

Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件

文章目录 PreJUnit 4 vs JUnit 5Junit5 常用注解栗子 Pre SpringBoot - 单元测试利器Mockito入门 SpringBoot - 应用程序测试方案 SpringBoot - SpringBootTest加速单元测试的小窍门 Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理 package org.junit.jupit…

Excel VBA 变量,数据类型常量

几乎所有计算机程序中都使用变量&#xff0c;VBA 也不例外。 在过程开始时声明变量是一个好习惯。 这不是必需的&#xff0c;但有助于识别内容的性质&#xff08;文本&#xff0c;​​数据&#xff0c;数字等&#xff09; 在本教程中&#xff0c;您将学习- 一、VBA变量 变量是…

webpack:详解CopyWebpackPlugin,复制的同时修改文件内容

摘要 CopyWebpackPlugin 是一个强大的 Webpack 插件&#xff0c;用于将文件从源目录复制到构建目录。在本文中&#xff0c;我们将探讨 CopyWebpackPlugin 的一些常用 API&#xff0c;并提供示例代码。 在构建 Web 应用程序时&#xff0c;通常需要将一些静态文件&#xff08;如…

数据治理-定义数据治理运营框架

开发数据治理的基本定义很容易&#xff0c;但是创建一个组织采用的运营框架可能很困难。在构建组织的运营框架时需要考虑以下几个方面&#xff1a; 数据对组织的价值。如果一个组织出售数据&#xff0c;显然数据治理具有巨大的业务影响力。将数据作为最有价值事物的组织将需要…

Unity中程序集dll

一&#xff1a;前言 一个程序集由一个或多个文件组成&#xff0c;通常为扩展名.exe和.dll的文件称为程序集&#xff0c;.exe是静态的程序集&#xff0c;可以在.net下直接运行加载&#xff0c;因为exe中有一个main函数(入口函数&#xff09;&#xff0c;.dll是动态链接库&#…

腾讯mini项目-【指标监控服务重构】2023-08-04

今日已办 关于 span-references 的调研 https://github.com/DataDog/dd-trace-js/issues/1761 https://github.com/open-telemetry/opentelemetry-specification/blob/874a451e7f6ac7fc54423ee3f03e5394197be35b/specification/compatibility/opentracing.md#span-references h…

基于springboot的OA人事办公管理系统

经典 oasys(OA自动化办公系统) 办公自动化&#xff08;OA&#xff09;是面向组织的日常运作和管理,员工及管理者使用频率最高的应用系统&#xff0c;极大提高公司的办公效率。 项目介绍 oasys是一个OA办公自动化系统&#xff0c;使用Maven进行项目管理。基于springboot框架开…