c++で競プロ関連の調べ物をしていると、includeの手間を省くためにbits/stdc++.hをincludeする例が多い。
clangでもstdc++.hを使うための設定方法をメモしておく。
clang++のheaderファイルのsearch pathを確認
$ clang++ -x c++ -v -E /dev/null ... #include <...> search starts here: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1 /Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include /Library/Developer/CommandLineTools/usr/include /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/System/Library/Frameworks (framework directory) End of search list. ...
上記のディレクトリ内が再帰的にsearchされるので、どれかにbits/stdc++.hを作っておけばincludeできるようになる。
$ cd /Library/Developer/CommandLineTools/usr/include $ sudo mkdir bits $ curl -o bits/stdc++.h https://gist.githubusercontent.com/reza-ryte-club/97c39f35dab0c45a5d924dd9e50c445f/raw/47ecad34033f986b0972cdbf4636e22f838a1313/stdc++.h
ちなみにstdc++.hが何なのかという点についてはこちらのqiitaがわかりやすい
で、結局 #include <bits/stdc++.h> って何? - Qiita
参考