C ディレクティブ 新しいページはコチラ
提供: yonewiki
(→#include) |
|||
| 56行: | 56行: | ||
具体的には以下の優先順序になる。 | 具体的には以下の優先順序になる。 | ||
| + | |||
| + | |||
| + | よく使われていたインクルードの宣言は#include <stdio.h>で、C++11という標準規格が制定された2011年くらいまでは、この方法でした。C++11以降はstdioに変わる新しいヘッダファイルcstdioに置き換わっています。VisualStudio2012あたりからcstdioが使われ始めています。他にも主要なヘッダファイルは先頭にcがついて、後ろの.hがないヘッダファイルに置き換わっています。VisualStudio2019ではC++20までの標準規格規格に対応しつつあり、メニュー{デバッグ}>{(プロジェクト名)のデバッグ}言語の標準規格の設定でどの規格を使うかが設定できます。既定ではC++14になっています。C++14の設定でもC++17やC++20の一部の機能は使えます。つまり、VS2019ではもうとっくにC++11準拠なので、cstdioを使った方が良いという感じです。他のコンパイラでもそろそろ、cstdioが対応されていると思います。 | ||
| + | |||
| + | 標準ヘッダファイルが新しくなったモノ一覧 | ||
| + | *<cassert> | ||
| + | *<ccomplex> | ||
| + | *<cctype> | ||
| + | *<cerrno> | ||
| + | *<cfenv> | ||
| + | *<cfloat> | ||
| + | *<cinttypes> | ||
| + | *<ciso646> | ||
| + | *<climits> | ||
| + | *<clocale> | ||
| + | *<cmath> | ||
| + | *<csetjmp> | ||
| + | *<csignal> | ||
| + | *<cstdalign> | ||
| + | *<cstdarg> | ||
| + | *<cstdbool> | ||
| + | *<cstddef> | ||
| + | *<cstdint> | ||
| + | *<'''cstdio'''> | ||
| + | *<cstdlib> | ||
| + | *<cstring> | ||
| + | *<ctgmath> | ||
| + | *<ctime> | ||
| + | *<cuchar> | ||
| + | *<cwchar> | ||
| + | *<cwctype> | ||
| + | |||
| 77行: | 109行: | ||
インクルードファイル名が重複する場合には、このあたりの優先度を理解してインクルードパスの指定をきっちりとしてやることが大事になってきます。 | インクルードファイル名が重複する場合には、このあたりの優先度を理解してインクルードパスの指定をきっちりとしてやることが大事になってきます。 | ||
| − | |||
=='''<nowiki>#</nowiki>using'''== | =='''<nowiki>#</nowiki>using'''== | ||