मेरे पास एक मनमानी एसटीएल कंटेनर सी है, जिसमें मनमानी प्रकार टी के तत्व शामिल हैं। मैं एक std :: वेक्टर बनाना चाहता हूं जिसमें सभी तत्वों की एक प्रति है। ऐसा करने का सबसे साफ तरीका क्या है?मनमाने ढंग से एसटीएल कंटेनर के लिए मनमाने ढंग से टाइप
vector
और
set
तरह
template <typename C>
void myfunction(C container){
/*Derive the type T of elements within the container*/
std::vector<T> mystack;
/* Iterate over container and push_back() the elements into mystack*/
}
सोचा कि मैं इसे सी ++ 11 के लिए टक्कर दूंगा। क्या नया "ऑटो" कीवर्ड यहां काम करेगा? मुझे इसके साथ खेलने का मौका नहीं मिला है। –
@ चाडब्रूबेकर: नहीं 'decltype' काम करेगा, लेकिन यह' typename C :: value_type' से आसान नहीं है। – kennytm