करने के लिए एक एसटीडी कंटेनर दर्रा मैं के साथ आया था निम्नलिखित:एक समारोह
template <typename T> inline void printcontainer(std::vector<T> container)
{
for(auto it = container.begin(); it != container.end(); it++)
{
std::cout << *it << std::endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<int> v;
v.push_back(5);
v.push_back(4);
v.push_back(3);
printcontainer(v);
return 0;
}
(माफ करना push_backs
के लिए, दृश्य स्टूडियो प्रारंभकर्ता सूचियों को स्वीकार नहीं करता है ... ओह !!)
यह फ़ंक्शन std::vector
तक सीमित है, मैं इसे कैसे बना सकता हूं ताकि मैं std::list
सरणी आदि जैसे अन्य कंटेनर पास कर सकूं ...
कुलपति के किन संस्करणों ++ प्रयोग कर रहे हैं कि प्रारंभकर्ता सूचियों का समर्थन नहीं करता है? – MikeMB
विजुअल स्टूडियो 2012, 'std :: vector v {1,2,3} जैसी चीजें; 'समर्थित नहीं है, इसलिए आपको सी-स्टाइल सरणी वर्कअराउंड का उपयोग करना होगा जो मैं काफी तुच्छ जानता हूं। इसके अलावा इसमें 'std :: startizer_list' सुंदर अजीब नहीं है। –
ठीक है, मुझे सी ++ 11 में इतना उपयोग किया गया है कि मैं भूल गया कि वीएस ने कई/सबसे अधिक अपनाया है? सी ++ 11 फीचर्स वीएस 2013 से पहले नहीं हैं। – MikeMB