我知道你可以創建模板,使函數接受整型,雙,浮法。但是,你可以「模板化」一個函數,以便它可以接受數組和向量?你能製作一個模板來接受C++中的向量和數組嗎?
0
A
回答
3
通常的答案是寫一個模板函數,它接受一對迭代器作爲參數。因爲指針也是迭代器,所以可以使用指向第一個和第一個指針的指針調用您的函數,該指針經過數組的末尾元素。
E.g.
template <class II>
void print_all(II first, II last)
{
for (II i = first; i != last; ++i)
cout << *i << ' ';
cout << '\n';
}
vector<int> v;
int a[10];
...
print_all(v.begin(), v.end());
print_all(a, a + 10);
相關問題
- 1. 能有一個包含C++類模板的向量嗎?
- 2. (C++)帶功能和向量的模板
- 3. 你能模式匹配elixir中的一個非空數組嗎?
- 4. 你能寫一個可以接受任意數量參數的c#裝飾器函數嗎?
- 5. C++中的模板向量
- 6. 可能定義一個C++變量來接受任何BidirectionalIterator?
- 7. 接受模板類的模板函數
- 8. 你可以將數組作爲數組中的一個值嗎?
- 9. 你能設置一個整數(C++)的最大限制嗎?
- 10. Yeoman:你能從模板中調用一個方法嗎?
- 11. 你可以在xsl模板中調用一個模板嗎?
- 12. 製作一個接受整型數組的構造函數
- 13. 製作一個模板接受一個特定的班級/班級系列?
- 14. 你能幫我理解這個C++模板代碼嗎?
- 15. 你能告訴我logback.xml一個完整的模板嗎?
- 16. 你能模板專門化一個沒有模板化的子類嗎?
- 17. 如何寫一個模板函數接受&&和const&兩者?
- 18. 你能回收一個Domino對象的向量嗎?
- 19. C++模板功能 - >傳遞一個模板類作爲模板參數
- 20. 返回參數不能被接受在c + +模板
- 21. 你能推薦一個ASP.NET模板教程嗎?
- 22. 你能推薦一個.net模板引擎嗎?
- 23. 你可以用C指向一個變量的函數參數嗎?
- 24. 你接受接口作爲構造參數嗎?
- 25. 在C++中,你能創建一個對象作爲arg來運行嗎?
- 26. 我可以使用變量模板來聲明另一個變量模板嗎?
- 27. 您能通過Eclipse中的模板生成一個包和一組類嗎?
- 28. 你能通過一個cin輸入來訪問一個數組嗎?
- 29. C#模式來緩存接受通用參數的動作
- 30. 爲什麼C++ variadic模板不接受iostream值作爲參數?
類-的。簡單的方法是提供帶有一對指定有效範圍的迭代器的模板。 – juanchopanza 2013-03-18 12:50:44
http://stackoverflow.com/questions/9373363/c-template-function-for-arrays-vectors-built-in-types-stl – 2013-03-18 12:50:57