Сообщение Re[8]: так компайл тайм рефлекшину быть 26-й стандарт ?? от 23.03.2026 20:59
Изменено 23.03.2026 21:25 rg45
Re[8]: так компайл тайм рефлекшину быть 26-й стандарт ??
Здравствуйте, B0FEE664, Вы писали:
BFE>Два двоеточия ("::") — это переход по имени, а '.' — это доступ к свойству (к проперти, говоря на сленге).
Ну начинаются удивительные истории. Первый — оператор разрешения видимости (scope resolution operator), второй — оператор доступа к членам (member access operator) — членам-данным, членам-функциям, членам-шаблонам. И тот и другой можно обозначить как "переход по имени". Главное различие в том, что первый применяется к областям видимости (пространсвам имен и классам), а второй — к объектам классов.
BFE>Два двоеточия ("::") — это переход по имени, а '.' — это доступ к свойству (к проперти, говоря на сленге).
Ну начинаются удивительные истории. Первый — оператор разрешения видимости (scope resolution operator), второй — оператор доступа к членам (member access operator) — членам-данным, членам-функциям, членам-шаблонам. И тот и другой можно обозначить как "переход по имени". Главное различие в том, что первый применяется к областям видимости (пространсвам имен и классам), а второй — к объектам классов.
Re[8]: так компайл тайм рефлекшину быть 26-й стандарт ??
Здравствуйте, B0FEE664, Вы писали:
BFE>Два двоеточия ("::") — это переход по имени, а '.' — это доступ к свойству (к проперти, говоря на сленге).
Ну начинаются удивительные истории. Первый — оператор разрешения видимости (scope resolution operator), второй — оператор доступа к членам (member access operator) — членам-данным, членам-функциям, членам-шаблонам. И тот и другой можно обозначить как "переход по имени". Главное различие в том, что первый применяется к областям видимости (пространствам имен и классам), а второй — к объектам классов.
Причём, через "точку" можно обращаться в т.ч. и к статическим членам классов (главное, чтоб слева от точки было выражение, вычисляющееся в объект). Например: std::true_type{}.value — это обращение к статическому члену std::true_type::value. Или std::numeric_limits<double>{}.epsilon() — то же самое, что std::numeric_limits<double>::epsilon().
BFE>Два двоеточия ("::") — это переход по имени, а '.' — это доступ к свойству (к проперти, говоря на сленге).
Ну начинаются удивительные истории. Первый — оператор разрешения видимости (scope resolution operator), второй — оператор доступа к членам (member access operator) — членам-данным, членам-функциям, членам-шаблонам. И тот и другой можно обозначить как "переход по имени". Главное различие в том, что первый применяется к областям видимости (пространствам имен и классам), а второй — к объектам классов.
Причём, через "точку" можно обращаться в т.ч. и к статическим членам классов (главное, чтоб слева от точки было выражение, вычисляющееся в объект). Например: std::true_type{}.value — это обращение к статическому члену std::true_type::value. Или std::numeric_limits<double>{}.epsilon() — то же самое, что std::numeric_limits<double>::epsilon().