m.r*_*226 4 c++ string queue data-structures
我需要一个如下结构:
该结构必须保持固定大小std::strings,以使其元素的数量为finit(100-10000000).
我希望能够随机访问每个元素,如下所示:
std::string Temp = MyStrcuture[i];
Run Code Online (Sandbox Code Playgroud)
要么
MyStrcuture[i] = std::string Temp;
Run Code Online (Sandbox Code Playgroud)
我必须选择没有(可能)内存泄漏的最快结构.
哪一个对我更好?
std::string* MyStrcuture = new std::string[Nu_of_Elements];std::queue< std:string> MyStrcuture(Nu_of_Elements);std::vector< std:string> MyStrcuture(Nu_of_Elements);boost::circular_buffer< std::string> MyStrcuture(Nu_of_Elements);Sau*_*ahu 12
std::vector< std:string> MyStrcuture(Nu_of_Elements);
Run Code Online (Sandbox Code Playgroud)
矢量最适合您的要求.它支持基于索引的元素访问,因为元素存储在连续的内存地址中,并且具有大小的灵活性.
std:string*MyStrcuture = new std :: string [Nu_of_Elements]; 没有
std :: queue <std:string> MyStrcuture(Nu_of_Elements); 没有
如何在java中获取队列中的第n个项目?
不支持基于索引的元素访问.
std :: vector <std:string> MyStrcuture(Nu_of_Elements); 是
清理:向量的析构函数自动调用向量中每个元素的析构函数.
Boost :: circular_buffer <std :: string> MyStrcuture(Nu_of_Elements); 没有
与第二个相同的原因.了解更多
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |