如果我这样做: -做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时避免动态分配 –