【发布时间】:2026-01-14 18:15:01
【问题描述】:
我想写一个非常便携的代码,我需要在初始化时调用std::chrono::system_clock::now()。这个函数能抛出异常吗?
在 c++11 标准中,没有提到这个问题。 (至少,我没有找到)
在 Visual Studio 中,源代码如下:
static time_point now() _NOEXCEPT
{ // get current time
return (time_point(duration(_Xtime_get_ticks())));
}
使用 _NOEXCEPT 关键字,Visual Studio 中的答案非常明显。但是一般情况呢?
【问题讨论】:
-
请注意:
_NOEXCEPT不是关键字。它是一个特定于实现的宏,对于支持它的编译器,它扩展为关键字noexcept,对于不支持它的编译器,它什么也没有。 -
@PeteBecker 当然
标签: c++ c++11 portability language-lawyer chrono