我是新来的。我不明白if语句:i == 0,它消除了重复。怎么运行的?谢谢。有人可以解释这个C++代码吗?
vector<string>words;
for (string temp; cin >> temp;)
words.push_back(temp);
cout << "Number of words:" << words.size() << '\n';
sort(words);
for (int i = 0; i < words.size(); ++i)
if (i == 0 || words[i - 1] != words[i])
cout << words[i] << '\n';
只有当单词[i - 1]!=单词[i]' - 它与前一个不同时,它才会打印单词。 'i == 0'只是保护 - 因为索引0没有前一个。 –
请选择[一本好的初学C++书](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 [[使用名称空间标准;'是一个不好的做法](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)! – tambre
在调试器中使用一组已知输入字符串(包括一些不止一次使用的单词)运行它,并查看在单步执行最后一个循环时发生了什么。 – WhozCraig