logo
volkov / C++ / Бьерн Страуструп-Справочное руководство по С++

R.16.10 Предопределенные макроимена

В процессе трансляции определенную информацию содержат следующие

предопределенные макроимена.

__LINE__ десятичная константа, содержащая номер текущей строки

текста программы на С++.

__FILE__ строка литералов, представляющая имя транслируемого

входного файла.

__DATE__ строка литералов, представляющая дату трансляции в виде

"Mmm dd yyyy" или "Mmm d yyyy", если число меньше 10,

(здесь Mmm задает месяц, dd - день, а yyyy - год).

__TIME__ строка литералов, представляющая время трансляции в виде

"hh:mm:ss", (здесь hh задает часы, mm - минуты, а

ss - секунды).

Кроме того, считается определенным при трансляции программы на С++

макроимя __cplusplus.

Перечисленные макроимена нельзя как переопределять, так и отменять их

определения.

Макроимена __LINE__ и __FILE__ можно определить с помощью команды

#line ($$R.16.6).

Определено ли макроимя __STDC, и если да, то каково его значение,

зависит от реализации.