- ctime[meta header]
- std[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
namespace std {
int timespec_getres(struct timespec* ts, int base);
}- timespec[link timespec.md]
指定したベース時間の分解能を取得する。
C23で<time.h>に追加された関数であり、C++26で<ctime>に取り込まれた。
パラメータbaseで指定されたベース時間について、timespec_get()が提供する時間の分解能をtsに書き込む。
分解能の取得に成功した場合、非ゼロの値としてbaseを返す。失敗した場合はゼロを返す。
#include <iostream>
#include <ctime>
int main()
{
// UTCベース時間の分解能を取得する
std::timespec ts;
if (std::timespec_getres(&ts, TIME_UTC) == 0) {
std::cerr << "分解能の取得に失敗した" << std::endl;
return 1;
}
std::cout << "tv_sec:" << ts.tv_sec
<< " tv_nsec:" << ts.tv_nsec
<< std::endl;
}- std::timespec_getres[color ff0000]
- std::timespec[link timespec.md]
- TIME_UTC[link time_utc.md]
tv_sec:0 tv_nsec:1
- C++26
- Clang: 22 [mark noimpl]
- GCC: 16.1 [mark noimpl]
- Visual C++: 2026 Update 2 [mark noimpl]
timespec_get(): 指定したベース時間に基づいた、経過秒と経過ナノ秒を取得するtimespec: 経過秒と経過ナノ秒を保持する型
- P3348R4 C++26 should refer to C23 not C17
- C++26がC23を参照するようになり、この関数が
<ctime>に追加された
- C++26がC23を参照するようになり、この関数が