2010-06-13 81 views
1

我希望得到函數的參數一樣streamstringget函數的參數一樣streamstring

// Declartion 富(性病:: stringstream的strString);

//使用 foo(「Hello」< <「world」);

怎麼辦?

+0

首先,你必須讓你的奇怪的字符串連接'」(?)你好「<<」世界「'工作;爲什麼不用'std :: string(「Hello」)+ std :: string(「world」)''來代替它?然後你會聲明一個函數'foo',它將一個'std :: string'作爲它的參數。 – stakx 2010-06-13 14:38:45

回答

2

用於流插入的<<語法是通過重載左移運算符(這就是<<)的各種流類實現的。你可以重載向左移位運算符爲你的類:

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

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