將輸入的一行讀到string中不需要像用數組那樣,考慮給多少大小的空間,這可以使得做acm題更加方便。
c++98有兩個函數可以讀一行到string中,如下:
istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str);
例子:
#include#include using namespace std; int main () { string name; cout << "Please, enter your full name: "; getline ( cin, name ); cout << "Hello, " << name << "!\n"; return 0; }
在我的程序中出現這個錯誤的原因是:在stack為空的情況下調用了top()方法。vc對c++中其他類比如vector,queue應該有類似的斷言,就是在結構體為空的時候進行了非法的操作會引進這個錯誤。