void log(){
time_t current = time(0);
tm *ptm = localtime(¤t);
stuf...
}
只是想确定一下-我是否需要在方法结束时释放 tm 指针分配的内存?
void log(){
time_t current = time(0);
tm *ptm = localtime(¤t);
stuf...
}
只是想确定一下-我是否需要在方法结束时释放 tm 指针分配的内存?
不,你不应该释放它,结构是静态分配的。
检查文档:
成功时返回
指向静态内部std::tm
对象的值指针,NULL
否则。该结构可以在 、 和 之间共享,std::gmtime
并且可以在每次调用时被覆盖。std::localtime
std::ctime
不,你不应该。该结构由函数gmtime
和静态分配和共享localtime
。每次调用这些函数中的任何一个时,都会覆盖此结构的内容。
所以要小心结果 - 例如立即复制它们并且不要存储指针。