I'd like to use STL containers (plus std::basic_string
) to temporarily store keys or passwords in memory, and I'd like to zero the memory when done.
I was initially planning to use STL containers parameterized on a custom allocator that zeroes memory in allocator::deallocate
, but I'm presuming that containers are allowed to use memory that doesn't come from the specified allocator. For example, it seems reasonable for a std::vector
or a std::string
to contain a fixed-size array member meant for small allocations.
Am I rightly concerned, and should I (sigh) write my own container?