標準ライブラリヘッダ <ciso646>
提供: cppreference.com
このヘッダは元々 C 標準ライブラリに <iso646.h>
として存在していました。
互換ヘッダ。 C では演算子の代替表現を定義します。 C++ ではこれらはキーワードです。
つまり規格準拠の処理系では、このヘッダのインクルードは何の効果もありません。
[編集] ノート
古いまたは非準拠のコンパイラでは、演算子の代替表現を使用するにはこのヘッダのインクルードが要求されることがあります。
C++20 までは、 <ciso646>
のインクルードは、他に影響を与えずに処理系固有のライブラリバージョンのマクロの定義を取得するためのテクニックとして時々使われていました。
C++20 以降、ヘッダ <version> がこの目的のために追加されました。
このヘッダは C++20 で削除されました。 対応する <iso646.h>
は C++20 でもまだ利用可能です。
Run this code
#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 Dinkumware STL #else #error Using an unknown standard library #endif