c – 时间(NULL); vs时间(&某事);

前端之家收集整理的这篇文章主要介绍了c – 时间(NULL); vs时间(&某事);前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
真正简单的问题.根据我的手册页,这两个人将做同样的事情:
time_t t;
time(&t);

printf("Time: %ld",t);

printf("Time: %ld",time(NULL));

那么,传递一个指针到时间的好处究竟是什么?如果由于没有时钟可用,time()将失败,两个变体都不会在我看来有任何好处.

解决方法

好处是在调用’time’之后不需要将数据复制到另一个结构中.

如果你是准备一个数据缓冲区以发送给另一个应用程序/服务器,您将不得不复制数据,这是额外的开销.通过将指针传递到您的数据结构中,您可以将其放在正确的位置.

当然,如果你唯一使用的数据是将它转换成另一种格式,比如文本printf,那么使用NULL调用它更有效,并保存第一个例子所需的额外的存储空间.

最后,由于时间函数使用单个位置来存储其内部时间结构,所以第一种方法将更加线程安全,尽管如果“时间”实际上是线程安全的,我不记得我的头部.

猜你在找的C&C++相关文章