我有两个问题:
1.)我想以函数的方式对我的代码进行内存分析。代码可以有任何STL容器。在linux中有没有办法做到这一点?
2.)第二个原因是我太天真了!如果我有一个数据结构
template < class T1 > struct somestruct
{
std::set < T1 > v1;
std::vector < T1 > v2;
std::vector < T1 > v3;
};我知道v1,v2和v3的大小,那么我可以根据sizeof(T1)直接计算结构的大小吗,或者我必须注意填充?
发布于 2013-03-19 18:26:54
结构的直接sizeof()将返回编译时的大小,即它不会考虑容器的实际大小。因此,您可能希望手动迭代每个容器,并将每个元素的大小相加。
但对你来说更简单的方法可能是使用profiler (例如gprof (GNU Profiler))或其他
https://stackoverflow.com/questions/15496427
复制相似问题