2010-06-13 3 views
1

je veux obtenir le paramètre de fonction comme streamstringparamètre de fonction get comme streamstring

// Declartion foo (std :: stringstream strString);

// Utilisation de foo ("Hello" < < "monde");

comment faire cela ??

+0

D'abord, vous auriez à obtenir votre concaténation de chaîne étrange ' » (?) Bonjour "<<" monde "' travailler; pourquoi ne pas le remplacer par quelque chose comme 'std :: string (" Hello ") + std :: string (" world ")'? Ensuite, vous déclarez une fonction 'foo' qui prend un' std :: string' comme argument. – stakx

Répondre

2

La syntaxe << utilisée pour l'insertion de flux est obtenue par les différentes classes de flux surchargeant l'opérateur de décalage vers la gauche (c'est ce que le << est). Vous pouvez surcharger l'opérateur de décalage vers la gauche pour votre classe:

struct Example 
{ 
    Example& operator<<(int i) 
    { 
     /* use i */ 
     return *this; 
    } 
}; 

Example e; 
e << 42; // calls operator<< overload 
Questions connexes