C++ 杂项.md

发布时间 2023-11-10 16:03:11作者: JingerCL

C++ 杂项

大括弧 {}

在C++中,大括号 {} 可以用于多种目的,包括但不限于以下几种:

  1. 初始化列表:大括号可以用于初始化数组、结构体、类和标准库容器等数据结构。例如:

    int arr[] = {1, 2, 3, 4, 5}; // 初始化整型数组
    std::vector<int> vec = {1, 2, 3, 4, 5}; // 初始化整型向量
    
  2. 代码块:大括号可以用于定义代码块,其中的语句可以被视为一个独立的作用域。例如:

    {
        int x = 5;
        // 这里是一个新的作用域
        {
            int y = 10;
            // 这里是另一个新的作用域
        }
        // y 在这里不可见
    }
    
  3. 初始化对象:大括号可以用于初始化对象,这在某些情况下比传统的括号初始化更加灵活。例如:

    class Example {
    public:
        int a;
        int b;
        Example(int x, int y) : a(x), b(y) {}
    };
    
    Example obj1{1, 2}; // 使用大括号初始化对象
    Example obj2 = {3, 4}; // 也可以使用等号
    
  4. 初始化列表构造函数:大括号可以用于调用初始化列表构造函数,这在C++11中引入,用于支持初始化列表的语法。例如:

    class Example {
    public:
        int a;
        int b;
        Example(std::initializer_list<int> list) {
            auto it = list.begin();
            a = *it;
            ++it;
            b = *it;
        }
    };
    
    Example obj = {5, 6}; // 调用初始化列表构造函数