gpt4 book ai didi

c++ - 为什么常量 CLOCKS_PER_SEC 不需要命名空间为 std::但 clock() 和 clock_t 需要?

转载 作者:行者123 更新时间:2023-11-30 01:05:20 28 4
gpt4 key购买 nike

我正在试用 <ctime>图书馆以获得类型感,clock_t , clock()函数和常数,CLOCKS_PER_SEC .我注意到我必须同时命名空间 clock_tclock()std::但不是 CLOCKS_PER_SEC .这是为什么? CLOCKS_PER_SEC如何自己漂浮起来?

#include <ctime>
#include <iostream>

int main() {
std::clock_t start;
double duration;

start = std::clock();

for (long int i = 0; i < 10000000000; i ++){
// do something
}

duration = ( clock() - start ) / (double) CLOCKS_PER_SEC;

std::cout << duration << std::endl;
}

最佳答案

CLOCKS_PER_SEC(连同大多数其他全大写的名称)是预处理器宏。宏不参与 C++ namespace 系统,因为如果这样做,使用它们的代码将与 C 不兼容,而 C 当然没有 namespace 。

关于c++ - 为什么常量 CLOCKS_PER_SEC 不需要命名空间为 std::但 <ctime> clock() 和 clock_t 需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48633203/

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