当前位置:   article > 正文

C++中 {}的功能_c++ {}

c++ {}

c++ 中 {}的功能

1、代码块(作用域)

花括号用于创建代码块,也就是一个作用域。在一个代码块中,可以定义局部变量,控制变量的作用范围,以及变量的生命周期。代码块可以在函数、条件豫剧、循环语句等地方使用。

void exampleFunction()
{
    int x = 10;
    {
        int y = 20; // 局部变量 y 只在此代码块内可见
    }
    // y 在这里不可见
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2、初始化列表:

花括号可用于初始化各种类型的数据结构,例如数组、结构体、容器等。

int arr[] = {1, 2, 3, 4, 5}; // 初始化整数数组
std::vector<int> vec = {10, 20, 30}; // 初始化整数向量
struct Point { int x, y; };
Point p = {5, 7}; // 初始化结构体
  • 1
  • 2
  • 3
  • 4

3、lambda 表达式:

花括号用于定义 lambda 表达式的函数体。

auto lambda = [](int x) {
    return x * x;
};

  • 1
  • 2
  • 3
  • 4

4、初始化器列表构造函数(C++11 及以后版本):

花括号可以用于调用初始化器列表构造函数,这在创建对象时非常有用。

std::vector<int> vec = {1, 2, 3, 4};
std::map<int, std::string> myMap = {{1, "one"}, {2, "two"}};

  • 1
  • 2
  • 3

5、类成员初始化列表:

在类的构造函数中,花括号可以用于成员初始化列表。

class MyClass {
public:
    MyClass(int x, int y) : a{x}, b{y} {}
private:
    int a, b;
};

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6、枚举类(C++11 及以后版本):

花括号可以用于定义枚举类中的成员。

enum class Color { Red, Green, Blue };
Color c = Color::Red;

  • 1
  • 2
  • 3

7、无默认构造函数的类的默认初始化(C++11 及以后版本):

对于没有默认构造函数的类,花括号可以用于默认初始化。

class NoDefaultConstructor {
public:
    NoDefaultConstructor(int x) { /* constructor code */ }
};
NoDefaultConstructor obj1 = {42}; // 使用初始化列表构造函数

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号