VCのSTLとSTLPortで、
string s1, s2="abc";
s1.assign(s2, 0, s2.size()+1);
if("abc" == s1)
cout << "success" << endl;
else
cout << "failure" << endl;
s1.assign(s2.c_str(), s2.size()+1);
if("abc" == s1)
cout << "success" << endl;
else
cout << "failure" << endl;
を実行した結果が
 success
 failure
になるんだけど、stringの仕様的にはこれってありなんですかねー?
なんでこうなっちゃうのかはわかるんだけど、
stringの仕様がいまいちわからん。