for_each, function, pointer
-
Oder wirklich ganz ganz toll:
std::copy(mvecTypes, std::ostream_iterator<>(std::cout));
-
3 mal darfste raten wer für letzteres eine Lösung anbietet...
(gut ohne die Typerkennung beim iterator)
-
Da braucht man nicht raten. Boost.Range kennt jeder.
copy.
-
Arcoth schrieb:
Da braucht man nicht raten. Boost.Range kennt jeder.
copy.lol
Das begin/end stört mich weniger als die überflüssige Typinformation. Und da bietet Boost keine Lösung.
-
weisswastollist schrieb:
Das begin/end stört mich weniger als die überflüssige Typinformation. Und da bietet Boost keine Lösung.
Ja, weil das sonst keinen kümmert.
#include <iostream> class generic_ostream_iterator : public std::iterator<std::output_iterator_tag, void, std::ptrdiff_t, void, void> { std::ostream* const mPtr; char const* const delim; public: generic_ostream_iterator( std::ostream& os, char const* delim ) noexcept: mPtr{&os}, delim{delim} {} generic_ostream_iterator( std::ostream& os ) noexcept: generic_ostream_iterator{os, nullptr} {} generic_ostream_iterator& operator*() noexcept { return *this; } generic_ostream_iterator& operator++() noexcept { return *this; } generic_ostream_iterator& operator++(int) noexcept { return *this; } template<typename T> generic_ostream_iterator& operator=( T const& value ) { (*mPtr) << value; if(delim) (*mPtr) << delim; return *this; } }; int main() { int arr[]{ 1, 2, 3, 4, 5 }; std::copy( std::begin(arr), std::end(arr), generic_ostream_iterator{std::cout, ", "} ); }
-
Gibt es einen Grund wieso du beim Postinkrement keine Referenz auf ein konstantes Objekt zurückgibst und wieso du nicht einfach einen Default-Parameter im Konstruktor machst?
-
Ich wollte möglichst den Standard-
ostream_iteratorübernehmen.
-
wrock schrieb:
hi wie schreibe ich [...] mit der stl?
Da siehst du was passiert, wenn du hier solche Fragen stellst.
theliquidwave's Beitrag ist wohl am brauchbarsten. Oder der erste von Arcoth, wenn du die Schnittstelle nicht ändern willst.
-
Default-Parameter
Den Misnomer musst du dir noch abgewöhnen.
-
Arcoth schrieb:
Default-Parameter
Den Misnomer musst du dir noch abgewöhnen.
*[...]ein Default-Argument[...]
Besser?