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/w/cpp/header/ciso646

Spec-Zone.ru

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