Заголовок стандартной библиотеки <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