cpp11的初始化列表
时间: 2023-06-01 07:02:44 浏览: 88
C++11引入了更灵活和简洁的初始化列表语法,允许在声明对象时使用初始化列表来初始化对象的成员变量。以下是一些C++11初始化列表的用法:
1. 用花括号{}初始化数组和结构体
```
int arr[] = {1, 2, 3};
struct Point {
int x;
int y;
};
Point p = {0, 0};
```
2. 用花括号{}初始化STL容器
```
std::vector<int> v = {1, 2, 3};
std::map<std::string, int> m = {{"one", 1}, {"two", 2}, {"three", 3}};
```
3. 使用构造函数的初始化列表
```
class MyClass {
public:
MyClass(int a, int b) : x(a), y(b) {}
private:
int x;
int y;
};
MyClass obj(1, 2);
```
4. 使用auto关键字和花括号{}进行类型推导
```
auto i = {1, 2, 3}; // 推导出std::initializer_list<int>
```
阅读全文