我想使用STL容器(加上
我最初打算使用参数化为自定义分配器的STL容器,在
我是否有正当担忧?我应该(叹气)编写自己的容器吗?
std::basic_string
)暂时存储密钥或密码在内存中,并且在完成后我希望清零内存。我最初打算使用参数化为自定义分配器的STL容器,在
allocator::deallocate
中清零内存,但我认为容器可以使用不来自指定分配器的内存。例如,一个std::vector
或std::string
可能包含用于小型分配的固定大小数组成员,这似乎是合理的。我是否有正当担忧?我应该(叹气)编写自己的容器吗?
std::vector
,你得跳过很多困难的步骤才能满足异常要求,并且仍然将数据存储在向量对象本身中。而对于std::string
,在对象中存储数据不仅是可能的,而且是相当常见的。 - Jerry Coffinstd::vector::resize
或std::vector::push_back
,导致std::vector
重新分配一个新的内存块并复制现有的缓冲区,会发生什么? - jamesdlinstd::vector<unsigned char>
жқҘеӯҳеӮЁдәҢиҝӣеҲ¶еҜҶй’Ҙеқ—пјҢжҲ–иҖ…дҪҝз”Ёstd::vector<char>
/std::string
жқҘеӯҳеӮЁеҜҶз ҒгҖӮеҰӮжһңжҲ‘дҪҝз”Ёзҡ„жҳҜйқһеҺҹе§Ӣзұ»еһӢзҡ„std::vector
пјҢжҲ‘иӮҜе®ҡдјҡеңЁvalue_type
зҡ„жһҗжһ„еҮҪж•°дёӯиҝӣиЎҢжё…йӣ¶ж“ҚдҪңгҖӮ - jamesdlin