Spec-Zone.ru › C++

Заголовок стандартной библиотеки <ciso646> (до C++20), <iso646.h>

Изначально этот заголовок входил в стандартную библиотеку C под именем <iso646.h>.

Заголовок совместимости, который в C определяет альтернативные представления операторов, являющиеся ключевыми словами в C++.

Это означает, что в соответствующей стандарту реализации подключение этого заголовка не оказывает никакого эффекта.

Примечания

В старых компиляторах или компиляторах, не соответствующих стандарту, для использования альтернативных представлений операторов всё ещё может потребоваться подключить этот заголовок.

<ciso646> удалён в C++20. Соответствующий <iso646.h> по-прежнему доступен в C++20.

До C++20 подключение <ciso646> иногда использовалось для получения определений макросов версии библиотеки, специфичных для реализации, без возникновения других эффектов. Начиная с C++20 для этой цели был добавлен заголовок <version>.

#include <ciso646>
#ifdef _LIBCPP_VERSION
#error Using LLVM libc++
#elif __GLIBCXX__ // Note: only version 6.1 or newer define this in ciso646
#error Using GNU libstdc++
#elif _CPPLIB_VER // Note: used by Visual Studio
#error Using Microsoft STL
#else
#error Using an unknown standard library
#endif

Возможный вывод:

main.cpp:7:2: error: Using Microsoft STL
#error Using Microsoft STL
 ^
1 error generated.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/header/ciso646

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API