如果我這樣做: -做std :: function和std :: bind做動態內存分配嗎?
class Thing
{
...
void function (const std::string& message);
};
std::list<std::function<void()>> work;
和 「物」 的一些成員
work.push_back(std::bind(&Thing::function, this, "Hello"));
無論是否調用到std ::綁定或使用std ::的功能<>原因任何使用新的或其他的動態內存分配?或者是編譯時分配的所有存儲空間?如果標準沒有說什麼,那麼在Visual Studio 2012中作爲我的程序只需要在那裏建立,爲了提高效率,我可能需要在我想使用這種機制的地方避免動態內存分配。
「效率我可能」你不應該對這樣的效率做出假設。 – slaphappy
每次將項目添加到列表時,使用'std :: list'都會導致內存分配。 –
Ahahahahahaha在使用std :: list時避免動態分配 –