首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在程序中定义static vector<string> str;内存如何分配

2012-04-06 
在程序中定义static vectorstring str内存怎么分配?在程序中定义staticvector stringstr内存怎么分

在程序中定义static vector<string> str;内存怎么分配?
在程序中定义static   vector <string>   str;内存怎么分配?
vector是动态分配内存的,上面语句在初始化时怎么分配内存?

[解决办法]
在vector看来,string只是个一般的对象,每个string对象的大小是固定,
一个string对象占用的内存大小,不同的编译器会有不同实现,
vc6中是12个字节,vc7.1中是28个字节,Dev-Cpp4.9编译器中是4个字节.

vector中只保存了string实例,每个string实例都有一个指向实际保存字符串的指针
string自己内部的资源由string负责,vector不管。

sizeof(string);//string对象的占用的内存大小,vector只负责这一部分

string str;
str.size();// string对象中保存的字符串的长度.vector不负责这一部分

它们是代表不同的东西.

热点排行