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次
相关推荐
Sunshine for you34 分钟前
实时操作系统中的C++
开发语言·c++·算法
史蒂芬_丁38 分钟前
C++深度拷贝例子
java·开发语言·c++
「QT(C++)开发工程师」1 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
Jordannnnnnnn3 小时前
追赶33名
c++
会编程的土豆3 小时前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
2401_879693873 小时前
C++中的观察者模式实战
开发语言·c++·算法
William_wL_3 小时前
【C++】string的实现
c++
fff9811183 小时前
C++与Qt图形开发
开发语言·c++·算法
计算机安禾4 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
不想写代码的星星4 小时前
C++模板特化:别把“特例”写成“特坑”——从全特化到变量模板
c++