【发布时间】:2022-01-17 12:19:50
【问题描述】:
我有一个非常简单的 c++ 源代码,如下所示:
#include <iostream>
int main() {
srand(time(NULL));
}
我正在使用 g++ 像这样编译:
g++ ./test.cpp
但尽管time() 函数在ctime 中定义并且它不包含在#include 中,但它仍成功编译
我的大学教授使用 Visual Studio (vc++) 运行代码,但如果不包含 ctime,他将无法运行代码
我在这里错过了什么吗?
顺便说一句,我的 g++ 版本是:
g++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0
【问题讨论】:
-
标准头文件允许包含其他标准头文件。不要依赖这个。始终包含您需要的标题
-
关于 C++ random 的旁注,请查看
头文件。 (srand 是 IMO 剩下的一点“C”) -
@RemyLebeau yes.final 结论正是你所说的。但它可能会误导一个新的 c++ 程序员!
-
@PepijnKramer 是的,你是对的。实际上这个 c++ 代码是从 c 对应的翻译过来的!
标签: c++ gcc compilation time.h ctime