我是C++的新手,正在通過一本書工作,並正在學習一些偉大的東西。但是,我嚴重陷於其中一個練習中,我無法確定這個原理。使用C++ 11範圍替換字符串中的所有字符
該問題要求我使用新的範圍對於聲明將字符串中的所有字符(「Hello World」)更改爲字母X.
我就在通過輸入此代碼得到正確的輸出成功的:
string initial ("Hello World!");
for (auto &initChange : initial)
cout << "X";
但是我知道這個代碼是遠離正確的假設一個例子是改變在相同的字符串爲大寫使用所有文字以下內容:
string s("Hello World!!!");
for (auto &c : s)
c = toupper(c);
cout << s << endl;
我理解這段代碼,但我不能得到它的變化,爲練習的目的工作。
我已經把我的頭髮拉出了2天,現在想出這個簡單的事情。任何幫助將不勝感激!
我敢肯定'algorithm'具有算法這一點。 –
@WaleedKhan:如果練習的要點是使用範圍-for語句,雖然... –
也許我不明白這個問題,但如果我這樣做了,難道你不能只是將'c = toupper(c) '用'c ='X''? –