運營商++
應該等同於+ 1
,那麼爲什麼下面的示例會產生不同的結果?這些增量爲什麼會產生不同的結果?
#include <iostream>
#include <string>
int main()
{
int i, n=25;
std::string s1="a", s2="a", s1p="", s2p="";
for (i=0;i<=n;i++)
{
s1p += s1;
s1 = s1.at(0) + 1;
s2p += s2;
s2 = s2.at(0)++;
}
std::cout << "s1p = " << s1p << "\n" << "s2p = " << s2p << "\n";
return 0;
}
Ouput:
s1p = abcdefghijklmnopqrstuvwxyz
s2p = aaaaaaaaaaaaaaaaaaaaaaaaaa
我最近似乎有這種傾向,要求真正考慮不周的問題 - 也許我有一種潛意識希望等於「goesto-operator」的問題。,雖然這將需要做一些:) – slashmais