include文の意味


戻る

目標

  • include文の本来の意味を知る

include文とは


#include "iostream" //この部分
using namespace std;
int main(){
  cout << "test" << endl;
}

include文はファイルを読み込み、それをそのままソースコードとして取り込む役割をします。

このincludeされるファイルの事を「ライブラリ」と呼びます。

C++にはSTL(Standard Template Library)と呼ばれるライブラリがあり、これは基本的にどんな場合でもincludeする事ができます。

その他にも自作のライブラリを使う事もできます。

自作のライブラリを使うときには、ソースコードを同じフォルダ内に置いてからinclude文でファイル名を書くと使用できます。

namespaceとは


#include "iostream"
int main(){
  std::cout << "test" << std::endl;
}

namespaceは、関数同士で名前が被るのを防止する仕組みです。

関数の名前が同じでも、namespace名が違うと違う関数として認識されます。

using namespace std;

というのは、stdというnamespace内の関数を優先的に使用するという意味なのでした。

補足

Visual Studioを使っている人は使用できません。

#include "bits/stdc++.h"
とすると、STLを全て一度で読み込むことができます。 ###更に補足 bits/stdc++.hの中身はこうなっています。

#ifndef _GLIBCXX_NO_ASSERT
#include "cassert"
#endif
#include "cctype"
#include "cerrno"
#include "cfloat"
#include "ciso646"
#include "climits"
#include "clocale"
#include "cmath"
#include "csetjmp"
#include "csignal"
#include "cstdarg"
#include "cstddef"
#include "cstdio"
#include "cstdlib"
#include "cstring"
#include "ctime"

#if __cplusplus "= 201103L
#include "ccomplex"
#include "cfenv"
#include "cinttypes"
#include "cstdalign"
#include "cstdbool"
#include "cstdint"
#include "ctgmath"
#include "cwchar"
#include "cwctype"
#endif

// C++
#include "algorithm"
#include "bitset"
#include "complex"
#include "deque"
#include "exception"
#include "fstream"
#include "functional"
#include "iomanip"
#include "ios"
#include "iosfwd"
#include "iostream"
#include "istream"
#include "iterator"
#include "limits"
#include "list"
#include "locale"
#include "map"
#include "memory"
#include "new"
#include "numeric"
#include "ostream"
#include "queue"
#include "set"
#include "sstream"
#include "stack"
#include "stdexcept"
#include "streambuf"
#include "string"
#include "typeinfo"
#include "utility"
#include "valarray"
#include "vector"

#if __cplusplus >= 201103L
#include "array"
#include "atomic"
#include "chrono"
#include "condition_variable"
#include "forward_list"
#include "future"
#include "initializer_list"
#include "mutex"
#include "random"
#include "ratio"
#include "regex"
#include "scoped_allocator"
#include "system_error"
#include "thread"
#include "tuple"
#include "typeindex"
#include "type_traits"
#include "unordered_map"
#include "unordered_set"
#endif   
Visual Studioを使っている人はコレを一番最初にコピペしておくとすべてのSTL(2017年現在)を読み込めます。
戻る