C++:练习题

一、构造、析构顺序

cpp 复制代码
C c;
int main()
{
    A a;
    B b;
    static D d;
    return 0;
}
//构造顺序:C A B D
//析构顺序:~B ~A ~D ~C

二、拷贝构造次数

以下代码共调用多少次拷贝构造?

cpp 复制代码
Widget f(Widget u)  //第一次:传值拷贝构造
{
    Widget v(u);    //第二次:传值拷贝构造
    Widget w = v;   //第三次:赋值拷贝构造
    return w;       //第四次:返回临时变量,拷贝构造
}
void main
{
    Widget x;
    f(x);
} //共调用4次
cpp 复制代码
Widget f(Widget u) 
{
    Widget v(u);    
    Widget w = v;  
    return w;      
}
void main
{
    Widget x;
    f(f(x));
}  //共调用7次
相关推荐
charlee443 分钟前
将std容器的正向迭代器转换成反向迭代器
c++
arbboter17 分钟前
【C++20】新特性探秘:提升现代C++开发效率的利器
c++·c++20·新特性·span·结构化绑定·初始化变量·模板参数推导
zc.ovo20 分钟前
图论水题4
c++·算法·图论
眠りたいです1 小时前
Qt音频播放器项目实践:文件过滤、元数据提取与动态歌词显示实现
c++·qt·ui·音视频·媒体·qt5·mime
汤永红2 小时前
week2-[循环嵌套]数位和为m倍数的数
c++·算法·信睡奥赛
1白天的黑夜14 小时前
前缀和-560.和为k的子数组-力扣(LeetCode)
c++·leetcode·前缀和
No0d1es11 小时前
电子学会青少年软件编程(C/C++)5级等级考试真题试卷(2024年6月)
c语言·c++·算法·青少年编程·电子学会·五级
DjangoJason12 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
weixin_3077791314 小时前
VS Code配置MinGW64编译GNU 科学库 (GSL)
开发语言·c++·vscode·算法
蒋星熠16 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构