#include <iostream>
#include <initializer_list>
#include <vector>
#include <string>
using namespace std;
namespace Initializer_list
{
struct st_temp
{
st_temp() :m_nId(), m_nNumber(), m_strName() {}
st_temp(int m_pnId, int m_pnNumber, std::string m_pstrName) :m_nId(m_pnId), m_nNumber(m_pnNumber), m_strName(m_pstrName) {}
int m_nId;
int m_nNumber;
std::string m_strName;
};
class ST_Initializer_list
{
public:
ST_Initializer_list(std::initializer_list<st_temp> m_pTemp)
{
for (auto iter : m_pTemp)
st_templist.emplace_back(iter);
}
~ST_Initializer_list()
{
std::vector<st_temp>().swap(st_templist);
}
void print_temp()
{
for (auto iter : st_templist)
std::cout << "id:" << iter.m_nId << " number:" << iter.m_nNumber << " name:" << iter.m_strName << std::endl;
}
private:
std::vector<st_temp> st_templist;
};
void test_Initializer_list()
{
ST_Initializer_list temp{ { 1,1,"1" } ,{2,2,"2"},{3,3,"3"} };
temp.print_temp();
}
} // namespace Initializer_list
int main()
{
Initializer_list::test_Initializer_list();
return 0;
}
C++ 初始化列表std::initializer_list
最新推荐文章于 2024-04-27 15:25:53 发布