gpt4 book ai didi

c++ - 为什么 `std::time` 有一个不必要的参数?

转载 作者:行者123 更新时间:2023-12-01 13:40:40 24 4
gpt4 key购买 nike

来自 cppref :

std::time_t time(std::time_t* arg);

Returns the current calendar time encoded as a std::time_t object, and also stores it in the object pointed to by arg, unless arg is a null pointer.



我从来没有看到有人调用 std::time带有非空指针参数。我只是好奇:

1. 为什么std::time有不必要的参数?

2. 设计背后有什么动机/理由吗?

最佳答案

历史上time_t是一种抽象类型,并且可能期望它可能需要是可能无法可靠返回的结构或扩展类型,或者编译器可能在 ABI 中不同意返回它,例如通过将其存储到调用者提供的地址“有意义”。注意 difftime 的存在接口(interface)和 C 的模糊性 time_t值将被解释。只有 POSIX(很久以后)要求单位是秒(从纪元开始,并定义了纪元)。我不确定是否有任何具体证据可以证明这一点(也许在 C89 基本原理文档中?),但这是我要研究的领域。

对于 C++,它只是 std::time接口(interface)是 C time函数,包裹在 std:: 中.

关于c++ - 为什么 `std::time` 有一个不必要的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61432103/

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