56. 什么是i帧/p帧/b帧?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

57. C和C++的区别是什么?

在这里插入图片描述

58. 实现一个空类,该空类的函数有哪些?

在这里插入图片描述

验证默认成员函数的存在

我们可以通过定义一个空类,并使用这些默认成员函数,来验证它们的存在:

#include <iostream>

class Empty {
    // 这个类是空的,不包含任何显式声明的成员变量或成员函数
};

int main() {
    // 使用默认构造函数
    Empty e1;

    // 使用拷贝构造函数
    Empty e2 = e1;

    // 使用拷贝赋值运算符
    e2 = e1;

    // 使用移动构造函数(C++11及以上)
    Empty e3 = std::move(e1);

    // 使用移动赋值运算符(C++11及以上)
    e3 = std::move(e2);
    

    return 0;
}

在这里插入图片描述

59. 介绍下STL,以及你知道并使用的一些容器?

STL(Standard Template Library)是 C++ 标准库的一部分,它提供了一系列通用的数据结构和算法,以及一些函数对象,用于进行数据结构的操作和算法的实现。

STL 的核心组件包括容器、迭代器和算法。

在这里插入图片描述

在这里插入图片描述

60. auto和decltype的区别?

在这里插入图片描述
代码示例说明:

#include <iostream>

int main() {
    int a = 0;
    const int& b = a;

    auto x = b; // x 被推导为 int,因为 auto 会忽略顶层 const
    decltype(b) y = a; // y 被推导为 const int&,因为 decltype 保留所有修饰符

    std::cout << "x: " << x << ", y: " << y << std::endl;

    int n = 10;
    decltype(n) m = n; // m 被推导为 int ,n这个家伙的类型 上一句已经给确定了 decltype 只是获取
    decltype((n)) p = n; // p 被推导为 int&,因为 (n) 是左值表达式

    std::cout << "n: " << n << ", m: " << m << ", p: " << p << std::endl;

    return 0;
}

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐