6
A
回答
9
C++ 11有一個初始化列表的概念。要使用它,請添加一個接受類型爲std::initializer_list<T>
的單個參數的構造函數。例如:
#include <vector>
#include <initializer_list>
#include <iostream>
struct S
{
std::vector<int> v_;
S(std::initializer_list<int> l)
: v_(l)
{
std::cout << "constructed with initializer list of length " << l.size();
}
};
int main()
{
S s = { 1, 2, 3 };
return 0;
}
2
的initializer_list
可以(像其他STL容器)重複和size
可以查詢。這可以讓你按照yuyoyuppe的其他答案所做的指示立即將它送到vector
。但是,您可能有其他意圖進行初始化,並執行諸如直接對列表項執行操作而不進行復制。
#include <initializer_list>
#include <iostream>
#include <algorithm>
struct S
{
int thesum;
int items;
S(std::initializer_list<int> l) :
thesum(std::accumulate(l.begin(), l.end(), 0)),
items(l.size())
{}
};
int main()
{
S s = { 1, 2, 3 };
std::cout << s.items << std::endl;
std::cout << s.thesum << std::endl;
return 0;
}
這將打印
3
6
參見:
相關問題
- 1. 自定義班級列表初始化
- 2. 我可以在另一個班級初始化班級嗎?
- 3. 我該如何初始化?
- 4. 我該如何初始化?
- 5. 初始化我自己的api類
- 6. 自我= [超級初始化]再訪
- 7. 如何初始化我自己的首選項佈局?
- 8. 如何爲模塊創建我自己的初始化程序?
- 9. 初始化常量<我的班級名稱>(NameError)
- 10. 我應該如何初始化jQuery?
- 11. 我該如何初始化錢寶石?
- 12. 我應該如何初始化freemarker.template.Configuration類?
- 13. 如何初始化自己的類型
- 14. 我應該如何儲存我的自定義班級?
- 15. 我該如何初始化一個3級間接指針? C++
- 16. 找到我自己的班級隊列的最小值
- 17. 如何爲我自己的集合類啓用大括號初始化列表?
- 18. iPhone自己的班級,超出範圍
- 19. log4j如何自我初始化
- 20. 畫上自己的班級
- 21. Android:我可以從我自己的班級獲得資源嗎?
- 22. 我如何初始化GDT?
- 23. 如何初始化我BaseAdapter
- 24. 我的班級如何知道其他班級不應該如何?
- 25. 我的班級出了問題。我是初學者
- 26. 我可以使用我自己班級的列表填充listview嗎?
- 27. 我的班級是否應該訂閱自己的公共活動?
- 28. 我該如何/應該初始化和正確使用`struct`?
- 29. 我的班級應該訪問班級及其班級的類別?
- 30. 斯威夫特。我如何創建單元格的自己的初始化器