gpt4 book ai didi

c++ - 使用 C++ 释放内存

转载 作者:行者123 更新时间:2023-11-30 00:37:57 32 4
gpt4 key购买 nike

我写了下面的方法:

void ShowInfo::show_time(){
time_t rawtime;
struct tm *ti;

time ( &rawtime );
ti = localtime ( &rawtime );

std::cout << std::setw(2) << ti->tm_hour << ":"
<< std::setw(2) << ti->tm_min << ":"
<< std::setw(2) << ti->tm_sec;
}

是否需要删除结构体ti以释放内存,或者方法结束时将其删除?

如果有必要删除它,我该怎么做?

最佳答案

您应该通过文档检查这一点。在谷歌中粗略搜索表明:

[http://en.cppreference.com/w/cpp/chrono/c/localtime]:

Returns: pointer to a static internal std::tm object on success

[http://msdn.microsoft.com/en-us/library/aa246456(v=vs.60).aspx]

Remarks: gmtime, mktime, and localtime all use a single statically allocated tm structure for the conversion.

因此似乎没有适当的动态分配,因此不需要将内存释放回系统。

除实际答案外,您还应该了解内存管理函数接口(interface)的一部分,必须记录在案。文档是查找此信息最简单的地方。特别是如果您必须释放内存,文档肯定会指出这一点。

关于c++ - 使用 C++ 释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255600/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com