基本的に、私はこのチュートリアルに従っています: http://cplussplussatplay.blogspot.com.cy/2012/11/text-adventure-games-c-part-1.html
これを除いて、私は今まですべてを理解しました:
// Make words upper case
// Right here is where the functions from cctype are used
for(i = 0; i < words.size(); i++)
{
for(j = 0; j < words.at(i).size(); j++)
{
if(islower(words.at(i).at(j)))
{
words.at(i).at(j) = toupper(words.at(i).at(j));
}
}
}
この時点で、文字でいっぱいの単語ベクトルがあります。2 つの for ループの必要性も、この words.at(i).at(j)) も理解していません。それは2Dベクトルか何かですか?
前もって感謝します。
編集:ご協力いただきありがとうございます!私は今それを理解しました!Stack Overflow を使用するのはこれが初めてで、今のところ気に入っています。:)
もう1つ、別の質問が発生しました!
string sub_str;
vector words;
char search = ' ';
// Clear out any blanks
// I work backwords through the vectors here as a cheat not to invalidate the iterator
for(i = words.size() - 1; i > 0; i--)
{
if(words.at(i) == "")
{
words.erase(words.begin() + i);
}
1. 2 番目のコメントの意味は?
2.ベクトルに空白が存在するのはなぜですか? 作成者によると、最初のループは空白をクリアします。これは以前のコードです:
for(i = 0; i < Cmd.size(); i++)
{
if(Cmd.at(i) != search)
{
sub_str.insert(sub_str.end(), Cmd.at(i));
}
if(i == Cmd.size() - 1)
{
words.push_back(sub_str);
sub_str.clear();
}
if(Cmd.at(i) == search)
{
words.push_back(sub_str);
sub_str.clear();
}
}
再度、感謝します!