c – 时间(NULL); vs时间(&某事);
发布时间:2020-12-16 05:52:45 所属栏目:百科 来源:网络整理
导读:真正简单的问题.根据我的手册页,这两个人将做同样的事情: time_t t;time(t);printf("Time: %ld",t); … printf("Time: %ld",time(NULL)); 那么,传递一个指针到时间的好处究竟是什么?如果由于没有时钟可用,time()将失败,两个变体都不会在我看来有任何好处.
真正简单的问题.根据我的手册页,这两个人将做同样的事情:
time_t t; time(&t); printf("Time: %ld",t); … printf("Time: %ld",time(NULL)); 那么,传递一个指针到时间的好处究竟是什么?如果由于没有时钟可用,time()将失败,两个变体都不会在我看来有任何好处. 解决方法
好处是在调用’time’之后不需要将数据复制到另一个结构中.
如果你是准备一个数据缓冲区以发送给另一个应用程序/服务器,您将不得不复制数据,这是额外的开销.通过将指针传递到您的数据结构中,您可以将其放在正确的位置. 当然,如果你唯一使用的数据是将它转换成另一种格式,比如文本printf,那么使用NULL调用它更有效,并保存第一个例子所需的额外的存储空间. 最后,由于时间函数使用单个位置来存储其内部时间结构,所以第一种方法将更加线程安全,尽管如果“时间”实际上是线程安全的,我不记得我的头部. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |