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次
相关推荐
懒羊羊大王&1 天前
模版进阶(沉淀中)
c++
owde1 天前
顺序容器 -list双向链表
数据结构·c++·链表·list
GalaxyPokemon1 天前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
W_chuanqi1 天前
安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
tadus_zeng1 天前
Windows C++ 排查死锁
c++·windows
EverestVIP1 天前
VS中动态库(外部库)导出与使用
开发语言·c++·windows
胡斌附体1 天前
qt socket编程正确重启tcpServer的姿势
开发语言·c++·qt·socket编程
GalaxyPokemon1 天前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
守正出琦1 天前
日期类的实现
数据结构·c++·算法
ChoSeitaku1 天前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)
c++·算法·蓝桥杯