目錄
一.初始化列表
使用示例
二.initializer_list
1.基本概念
2.使用示例
一.初始化列表
C++11提供的統一初始化方式,實現直接對數據初始化
使用示例
/*
初始化列表
*/
#include <iostream>
using namespace std;
class Person
{
public:Person(string name, int age):m_name(name),m_age(age){}Person(string name):m_name(name){}Person(int age):m_age(age){}string m_name;int m_age;
};int main()
{Person P1("liu");//有參構造Person P2("liu",18);Person P3 = 18; //隱式類型轉換Person P4 = { " liu"};//初始化列表Person P5 { "liu",18}; // 初始化列表{}int a1 = {1234};int a2{1234};//初始化列表int arr1[] = {1,2,3};int arr1[]{ 1,2,3};//初始化列表int *p = new int {520};double b = double{52.134};int* array = new int[3]{1,2,3};return 0;
}
二.initializer_list
1.基本概念
std::initializer_list
?是一個輕量級的容器類型,它可以存儲一組同類型的元素,并且這些元素在初始化時以列表的形式提供。std::initializer_list
?通常用于支持初始化列表語法,允許你使用花括號?{}
?來初始化對象,就像初始化數組一樣。
2.使用示例
#include <iostream>
#include <initializer_list>void func(initializer_list<int> ls){auto it = ls.begin();for( ; it != ls.end();++it){cout << *it << " ";}cout << endl;
}int main()
{func({3,4,5,6,7,8});return 0;
}