Does memory for localtime need to be deallocated?

后端 未结 2 1228
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-07 02:08
void log(){
    time_t current = time(0);
    tm *ptm = localtime(¤t);
        stuf...
}

Just want to be sure - do i need to release tm point

相关标签:
2条回答
  • 2021-02-07 02:43

    No you should not deallocate it,the structure is statically allocated.

    Check the documentation:

    Return value
    pointer to a static internal std::tm object on success, or NULL otherwise. The structure may be shared between std::gmtime, std::localtime, and std::ctime, and may be overwritten on each invocation.

    0 讨论(0)
  • 2021-02-07 03:02

    No, you shouldn't. This structure is statically allocated and shared by the functions gmtime and localtime. Each time either one of these functions is called the content of this structure is overwritten.

    So be careful with results - e.g. copy them immediately and don't store the pointer.

    0 讨论(0)
提交回复
热议问题