关于string的问题,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:41:22
DEV-C++中,系统至少会给string型分配多少内存啊?
也就是说,不管什么情况,string至少可保证多长?
还有,给string分配的那段内存会因后来变量的增多而被压缩吗?
那系统在a这个地址后会给多少空间存字符呢?也就是说,如果这个地址开始存字符串了,如果它过长,会不会影响到之后某个储存单元的值呢?

要明白一个观点,string a,只是定义一个指向一个字符串的指针,
这个指针a永远都只占用4个字节的内存(32位系统下),当赋给这个指针的字符串有多长,那么这个指针所指向的内存空间就会有多长.

比如:
string a; // a占用4个字节,你可以用sizeof(a)测试一下.
a ="abcdef";// a指向"abcdef"所在的内存空间.

a只是一个地址而已,表示从这个地址开始就是存储"abcdef"的地址啦.

分配比字符多一个字节的内存