Pitagora (Member)
Expert
Messaggi: 367
Iscritto: 12/06/2010
|
Salve, come posso creare operatori di stream parametrici?
ad esempio:
Codice sorgente - presumibilmente Plain Text |
std::cout << pause( " premere invio per continuare ..." );
|
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
non credo che la cosa si possa fare in questo modo, se ci pensi un secondo capirai che è un controsenso la riga che hai scritto
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
Toericamente puoi fare una cosa del genere, anche se non ha molto senso...
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <string> using namespace std; namespace Utils { struct Pauser { Pauser operator () ( const string& msg ) { cout << msg; return *this; } } pause; } istream& operator >> ( istream& in, Utils::Pauser ) { in.sync(); in.get(); } int main() { using Utils::pause; cin >> pause("Enter a key.."); cin >> pause; // no message return 0; }
|
E' molto meglio scrivere una funzione pause e usare quella, perchè tanto non c'è bisogno di specificare lo stream su cui va a leggere/scrivere.
|
|