zoukankan      html  css  js  c++  java
  • 請問 localtime() 為什麼不會造成 memory leak?

    http://www.programmer-club.com.tw/ShowSameTitleN/vc/22380.html

    ********************************************************

    2005/7/27 下午 10:09:05
    以下是摘錄自 MSDN 的程式碼:

    #include <time.h>
    #include <stdio.h>

    struct tm *newtime;
    time_t aclock;

    void main( void )
    {
       time( &aclock ); /* Get time in seconds */

       newtime = localtime( &aclock ); /* Convert time to struct */
         /* tm form */

       /* Print local time as a string */
       printf( "The current date and time are: %s", asctime( newtime ) );
    }

    小弟感到無比的好奇,
    為什麼 localtime() 傳回一個很明顯的指標, 卻不用在檔案結尾的時候 delete 之?
    而且還不會造成 memory leak....
    或者是 "某個人" 替我在程式結尾時自動 delete 了? 可程式碼裡頭又沒有 >_<...

    請各位大大解惑, Thanks.

    2005/7/28 上午 04:46:43
    你如果有看MSDN裡, localtime函數底下Remark那一段, 應該就不會有疑問了.

    gmtime, mktime, localtime, 使用的都是一個固定的空間 (static), 因此無論你呼叫多少次, 傳回的位址都是相同的 (也就那塊固定空間的位址). 每次呼叫這三個函數之一, 就會破壞之前傳回位址指向的內容 (因為都是使用相同的空間). 既然是固定空間, 當然也就不用free了.

  • 相关阅读:
    关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
    pycharm快捷键
    php 整理的零碎知识点
    phpadmin 导出csv格式的数据处理
    python 单例模式的实现
    Java单体应用
    Java单体应用
    Java单体应用
    Java单体应用
    Java单体应用
  • 原文地址:https://www.cnblogs.com/zhao1949/p/5366613.html
Copyright © 2011-2022 走看看