यह sort- है संभव है, लेकिन उपयोग बहुत अच्छा नहीं लगेगा। exxample के लिए:
#include <vector>
#include <iostream>
#include <algorithm>
#include <iterator>
template <class T>
class list_of
{
std::vector<T> data;
public:
typedef typename std::vector<T>::const_iterator const_iterator;
const_iterator begin() const { return data.begin(); }
const_iterator end() const { return data.end(); }
list_of& operator, (const T& t) {
data.push_back(t);
return *this;
}
};
void print(const list_of<int>& args)
{
std::copy(args.begin(), args.end(), std::ostream_iterator<int>(std::cout, " "));
}
int main()
{
print((list_of<int>(), 1, 2, 3, 4, 5));
}
यह कमी C++ 0x में तय हो जाएगा कि आप कहां कर सकते हैं:
void print(const std::initializer_list<int>& args)
{
std::copy(args.begin(), args.end(), std::ostream_iterator<int>(std::cout, " "));
}
int main()
{
print({1, 2, 3, 4, 5});
}
या यहाँ तक कि मिश्रित प्रकार के साथ:
template <class T>
void print(const T& t)
{
std::cout << t;
}
template <class Arg1, class ...ArgN>
void print(const Arg1& a1, const ArgN& ...an)
{
std::cout << a1 << ' ';
print(an...);
}
int main()
{
print(1, 2.4, 'u', "hello world");
}
क्यों आप क्या करना चाहिए यह अल्पविराम ऑपरेटर का उपयोग कर? जैसे Boost.Assign पहले से ही आपको एक साफ वाक्यविन्यास देता है, लेकिन यह 'ऑपरेटर() 'का उपयोग करता है। –
क्योंकि मैं माईफंक्शन (1,2,3) माईफंक्शन (बूस्ट :: list_of (1) (2) (3)) – uray