C++に関するリンク集
特に明記が無ければ、x86アーキテクチャ向け
OS | コンパイラ/ライブラリ | 定義 | 定義場所 |
Windows | VisualC++ 6.0 SP6 | unsigned short | stdlib.h 他多数 |
Windows | Platform SDK - 2003年2月版 - Windows Server 2003 SP1 | unsigned short | BaseType.h Dbt.h RpcNdr.h strsafe.h |
Windows | VisualC++ .NET 2003 | unsigned short | stdlib.h 他多数 |
IRIX | MIPSpro | int | /usr/include/curses.h |
Cygwin | gcc 3.4.4 | __WCHAR_TYPE__ | /usr/src/gcc-3.3.1-3/gcc/ginclude/stddef.h sizeof( wchar_t ) = 2 だった |
#include <mmintrin.h> // for MMX(Multi Media eXtension) #include <xmmintrin.h> // for SSE(Streaming SIMD Extensions) #include <emmintrin.h> // for SSE2 #include <pmmintrin.h> // for SSE3 #include <tmmintrin.h> // for SSE4 #include <smmintrin.h> // for SSE4.1 #include <nmmintrin.h> // for SSE4.2 #include <ammintrin.h> // for SSE5(AMD only) #include <wmmintrin.h> // for AES-NI(Advanced Encryption Standard - New Instructions) #include <immintrin.h> // for AVX(Intel Advanced Vector eXtentions) #include <ymmintrin.h> // for AVX2(Intel Advanced Vector eXtentions 2)SSEPlusを利用すれば、VC++でSSE3以降も利用可能かも。
定義 | 判定 | 用途 |
__i386__ | define | IA32環境判定 |
__ia64 | define | IA64環境判定 |
__x86_64 | define | x86_64環境判定 |
__amd64 | define | AMD64環境判定 |
定義 | 判定 | 用途 |
__sgi | define | SGI環境判定 |
sgi | define | SGI環境判定 |
__sun | define | Sun環境判定 |
__APPLE__ | define | Apple Mac環境判定 |
__DARWIN__ | define | Darwin環境判定 |
__MINGW32__ | define | MinGW環境判定 |
__CYGWIN__ | define | Cygwin環境判定 |
__gnu_linux__ | define | Linux環境判定 |
__FreeBSD__ | define | FreeBSD環境判定 |
__NetBSD__ | define | NetBSD環境判定 |
__hpux | define | HP-UX環境判定 |
WIN32 | define | Win32環境判定 |
WINVER | value | Windowsのバージョン |
_WIN32_WINDOWS | value | Windows9x系列のバージョン |
_WIN32_WINNT | value | WindowsNT系列のバージョン |
_WIN32_IE | value | InternetExplorerのバージョン |
定義 | 判定 | 用途 |
__cplusplus | define | C++コンパイラ判定 |
__GNUC__ | value | GNU Compiler CollectionのMajorバージョン |
__GNUC_MINOR__ | value | GNU Compiler CollectionのMinorバージョン |
__GNUG__ | define | GNU C++コンパイラ判定 |
__BORLANDC__ | value | Borland C++Builderコンパイラ判定 |
__BCPLUSPLUS__ | value | Borland C++Builderコンパイラ判定 |
__TURBOC__ | value | Borland C++Builderコンパイラ判定 |
__TCPLUSPLUS__ | value | Borland C++Builderコンパイラ判定 |
__ICL | value | Intel C++ Compiler判定 |
_MSC_VER | value | VisualC++コンパイラのバージョン |
_MSC_FULL_VER | value | VisualC++コンパイラの詳細なバージョン |
定義 | 判定 | 用途 |
__FILE__ | value | 定義位置のソースコードのファイル名 |
__LINE__ | value | 定義位置のソースコードの行番号 |
__FUNCTION__ | value | 定義位置の関数名称(C99に準拠したコンパイラが必要) |
__PRETTY_FUNCTION__ | value | 定義位置の関数の定義情報。GCCのみ。 |
__func__ | value | 定義位置の関数名称。GCCのみ。 |
__FUNC__ | value | 定義位置の関数名称。Borland C++Builderのみ。 |
__DATE__ | value | コンパイル時の日付 |
__TIME__ | value | コンパイル時の時刻 |
__VA_ARGS__ | value | 可変長引数 |
定義 | 判定 | 用途 |
_MFC_VER | value | MFC(Microsoft Foundation Class)のバージョン |
_ATL_VER | value | ATL(Active Template Library)のバージョン |
_WTL_VER | value | WTL(Windows Template Library)のバージョン |
_STLPORT_VERSION | value | STLportのバージョン |
_RWSTD_VER | value | STDCXXのバージョン |
_RWSTD_VER_STR | value | STDCXXのバージョン |
BOOST_VERSION | value | boostのバージョン |
BOOST_LIB_VERSION | value | boostのバージョン |
_DEBUG | define | VisualC++のDebug版 |
NDEBUG | define | VisualC++のRelease版 |
_UNICODE | define | VisualC++のUnicode環境 |
UNICODE | define | VisualC++のUnicode環境 |
STRICT | define | VisualC++で厳密な型チェックを使用 |
WIN32_LEAN_AND_MEAN | define | VisualC++で利用頻度の少ないAPI定義を取り込まない |
VC_EXTRALEAN | define | VisualC++で利用頻度の少ないAPI定義を取り込まない |
template< typename T > class CTest { typedef std::vector< T >::iterator HOGE_ITER; };(修正後)
template< typename T > class CTest { typedef typename std::vector< T >::iterator HOGE_ITER; };データ型の前に「typename」を付けてやると解決。