如果向量始终提供连续的内存存储,那么编译器如何将内存分配给空的 std::string?
我有一个向量,我向其中推送了许多使用 std:string 作为私有成员的类。然后,我将对向量的引用作为参数传递给另一个方法。
堆中其他位置的字符串数据是否从向量的连续数组引用?
为 分配内存std::string是微不足道的。
在内部,它将有某种指针,指向将存储实际字符串数据的内存块。size_t因此,为 std::string 分配内存只是为指针、 a或其他东西,也许还有几个原语分配空间的问题。
例如,如果你有一个std::vector<std::string>,向量很容易为 分配空间,std::string因为它们只是k一些常量的字节k。字符串数据不会参与本次分配。
| 归档时间: |
|
| 查看次数: |
1897 次 |
| 最近记录: |