STL(C++库)中的“未初始化存储”指的是在没有对存储空间进行初始化时发生的错误。对于STL数据结构(如vector、map和list等),必须确保所有数据成员的初始值为它们的基本类型的零或无效(通常为NULL、false或noexcept)。
以下是初始化未初始化STL的方法:
- 使用resize()方法确保容器中的大小在创建时就已经设定好。
- 使用push_back()、push()、emplace_back()或emplace()方法为容器添加元素。
- 使用empty()和size()方法检查容器是否为空。
- 使用reserve()方法为容器预先分配一些内存空间,以确保容器大小已知且不会溢出。
- 使用push_back()和std::pair中的std::make_pair()方法为两个类型相同的元素添加到容器。
如果在使用STL数据结构时未初始化存储,程序会发生未定义行为并可能导致错误。在使用前确保所有数据的初始化。