De façon optimale pour obtenir une chaîne de caractères ou un char* dans un istream?

Quelle est la manière la plus optimale pour obtenir une chaîne de caractères ou char* pointeur dans un istream.

Je veux faire ce qui suit

std::string a = "abc..";

//I know this can be done, not sure if this is most efficient
//and not sure about char*    pointers
std::istringstream istr (a);
...
foo (istr); 


void foo(std::istream& is) {

}
  • Désolé, ce n'est pas tout à fait clair ce que vous demandez ici. Voulez-vous être en mesure d'accéder à une chaîne comme s'il s'agissait d'un ruisseau? Qu'essayez-vous de réaliser?
  • édité à la question maintenant.
  • il est à noter que votre code n'est pas valide. vous ne pouvez pas construire un istream à partir d'un istringstream. que pensez-vous qu'il doit faire (à noter que les flux ne peut pas être copié).
  • édité mon cas d'utilisation, et je pense que je pourrais utiliser up_cast si je voulais utiliser istringstream à istream
InformationsquelleAutor kal | 2009-01-31