Ich habe eine std::vector
von std::reference_wrapper
Objekte, die ich mit printf (ohne Cout) drucken möchte; jetzt, wenn ichC++: Referenzwrapper und printf
int a=5;
std::reference_wrapper<int> b=a;
printf("%i\n\n",b);
schreiben bekomme ich eine nosense Nummer (ich glaube, die Adresse a
ist); meinen Wert zu erhalten Ich habe
printf("%i\n\n",b.get());
Gibt es eine Möglichkeit der automatischen Aufruf von .get()
Funktion hat in printf
(zB einen anderen %
specificator, die mir die reference_wrapper content
drucken) zu tun, so kann ich eine verallgemeinerte Funktion machen, die beide Werke mit std::reference_wrapper<type>
und type
?
Der erste Schritt wäre die Verwendung der Iostream-Bibliothek anstelle der stdio-Bibliothek. – Hurkyl
Ihr erstes Code-Snippet wird nicht überall kompiliert. 'Fehler: kann nicht Objekte von nicht-trivial-kopierbaren Typ 'Klasse übergeben std :: reference_wrapper' durch '...'' –
@Hurkyl Ich benutze bereits Iostream – volperossa