Jaki jest najłatwiejszy sposób wydrukowania pakietu parametrów, oddzielony przecinkami, przy użyciu std::ostream
?Jaki jest najłatwiejszy sposób wydrukowania pakietu parametrów variadic za pomocą std :: ostream?
przykład:
template<typename... Args>
void doPrint(std::ostream& out, Args... args){
out << args...; // WRONG! What to write here?
}
// Usage:
int main(){
doPrint(std::cout,34,"bla",15); // Should print: 34,bla,15
}
Uwaga: można przyjąć, że odpowiednia przeciążenia operatora <<
jest dostępna dla wszystkich rodzajów opakowania parametrów.
W C++ 17, powiesz: '(out << ... <<< argumenty);'. –
Uwaga: To nie jest duplikat - 'foo << X << Y;' zazwyczaj nie jest tym samym co 'foo << X; foo << Y; 'zwłaszcza gdy' foo' ma efekty uboczne, takie jak otwarcie pliku na dysku. – MSalters
@MSalters również, 'foo << X << Y' nie określa kolejności oceny' X' i 'Y' (przed C++ 17, to jest) –