例如
string s1("short");
string s2 ("very long");
s1 = s2;
书上解释赋值操作时说:首先将与s1相关联的字符存储区释放掉,然后再分配足够 与s2相关联的字符
的存储区,最后将与st3相关联的字符拷贝到该存储区中。
那么是否s1 = s2;之后s1的地址就变了呢?
我在程序里试了一下:
1#include
2 #include
3 using namespace std;
4 int main(int argc, char **argv)
5 {
6 string s1("short");
7 string s2("very long");
8 const char *str = s1.c_str();
9 cout