开发者

C++中大括号的用法合集

开发者 https://www.devze.com 2025-04-07 15:08 出处:网络 作者: 若亦_Royi
目录方法一:定义代码块方式二:作用域控制方式三:类与结构体的定义方式四:初始化列表方式五:构造函数委托方式六:内联对象定义方式七:lambda 表达式的函数体方式八:内联编程客栈命名空间学习C++以来还没有总结
目录
  • 方法一:定义代码块
  • 方式二:作用域控制
  • 方式三:类与结构体的定义
  • 方式四:初始化列表
  • 方式五:构造函数委托
  • 方式六:内联对象定义
  • 方式七:lambda 表达式的函数体
  • 方式八:内联编程客栈命名空间

学习C++以来还没有总结过C++的大括号的使用方式,于是有此文记录一下。

方法一:定义代码块

最常用的方式之一,不做解释:

if (condition) {
    // 代码块
} else {
    // 另一个代码块
}

方式二:作用域控制

像下面的这样的代码就不能够执行,因为a这个变量作用域不足以让 cout 访问。

    {
        int a = 10;
    }
    cout << a << endl;
    return 0;

方式三:类与结构体的定义

这个方式也很常见,不多做解释。

struct Point {
    int x;
    int y;
};

class Rectangle {
    int width, height;
public:
    Rectangle(int w, int h) : width(w), height(h) {}
    int area() { return width * height; }
};

方式四:初始化列表

在 C++11 引入了大括号初始化(也称为统一初始化),可以用来初始化变量、数组、容器等。

简单变量初始化

    int x{10};
    javascriptdouble y{3.14};

数组初始化

    int arr[3] = {1,javascript 2, 3};

容器初始化

    std::vector<intjavascript> vec = {1, 2, 3, 4};

统一初始化方式可以避免窄化转换问题,提高代码的安全性。

值得一提的是,著名的宇宙构造表达式也是这样原理。

方式五:构造函数委托

class Example {
    int a;
public:
    Example(int x) : a{x} {}
};

方式六:内联对象定义

struct Point {
   android int x, y;
};
Point p = {10, 20}; // 使用大括号直接初始化

对于匿名对象或临时对象,这种写法简洁明了。

方式七:lambda 表达式的函数体

auto lambda = []() {
    return 42;
};

方式八:内联命名空间

大括号用于定义命名空间的范围。

namespace MyNamespace {
inline namespace v1 {
    void func() {}
}
}

目前就这些,如有新的心得则继续补充。

到此这篇关于C++中大括号的用法合集的文章就介绍到这了,更多相关C++大括号内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号