Как включить все библиотеки stl в мой код c++, а не включать их отдельно. Например -
#include <queue>
#include <containers>
Простой способ включить их все. Пожалуйста помоги?
Вы не можете, но можете просто составить список и поместить их в заголовок с защитой заголовка c.
// C++ Full Standard Header Include
#include <cstdlib>
#include <csignal>
#include <csetjmp>
#include <cstdarg>
#include <typeinfo>
#include <typeindex>
#include <type_traits>
#include <bitset>
#include <functional>
#include <utility>
#include <ctime>
#include <chrono>
#include <cstddef>
#include <initializer_list>
#include <tuple>
#include <new>
#include <memory>
#include <scoped_allocator>
#include <climits>
#include <cfloat>
#include <cstdint>
#include <cinttypes>
#include <limits>
#include <exception>
#include <stdexcept>
#include <cassert>
#include <system_error>
#include <cerrno>
#include <cctype>
#include <cwctype>
#include <cstring>
#include <cwstring>
#include <cwchar>
#include <cuchar>
#include <string>
#include <array>
#include <vector>
#include <deque>
#include <list>
#include <forward_list>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <stack>
#include <queue>
#include <algorithm>
#include <iterator>
#include <cmath>
#include <complex>
#include <valarray>
#include <random>
#include <numeric>
#include <ratio>
#include <cfenv>
#include <iosfwd>
#include <ios>
#include <istream>
#include <ostream>
#include <iostream>
#include <fstream>
#include <sstream>
#include <strstream>
#include <iomanip>
#include <streambuf>
#include <cstdio>
#include <locale>
#include <clocale>
#include <codecvt>
#include <regex>
#include <atomic>
#include <thread>
#include <mutex>
#include <future>
#include <condition_variable>
#include <ciso646>
#include <ccomplex>
#include <ctgmath>
#include <cstdalign>
#include <cstdbool>
Это должен быть полный список :) (С++ 11 тоже должен быть активным). Возможно, вы захотите удалить те, которые устарели (не должно быть много/вы все равно получите предупреждение), а те, которые вы не используете потому что они особенные/старые/новые
libstdc++ документирует заголовочный файл с именем stdc++.h
который включает большинство (не всех) стандартных заголовков на основе языкового диалекта (например, ни libstdc++, ни libc++, похоже, не реализуют <cuchar>
). На этой странице приведены инструкции по созданию предварительно скомпилированного заголовка.
Насколько я знаю, libc++ не имеет stdc++.h
.
В Visual Studio C++ канонический прекомпилированный заголовок - stdafx.h
. Вы можете взять содержимое stdc++.h
и скопировать/вставить его, если хотите. Вам нужно будет изменить директивы #ifdef
которые проверяют языковой диалект. В MSVC __cplusplus
видимому, определяется чем-то бесполезным, как 199711
. _MSC_VER
может быть _MSC_VER
при определении статуса функций C++ 11.
Чтобы использовать его в GCC, #include <bits/stdc++.h>
.
#include <bits/stdc++.h>
эта библиотека включает в себя большинство заголовков STL (особенно контейнеров)
В большинстве случаев нет никакого способа и не нужно делать это. Если у вас есть более одного файла c++, вы можете создать заголовочный файл, который включает все, что вам нужно, и включить этот единственный заголовок во все ваши c++ файлы - этот подход также помогает использовать предварительно скомпилированные заголовки.
Вы должны включать только те файлы заголовков, которые вам нужны, потому что, когда препроцессор проходит через исходный файл, он заменит все файлы заголовков фактическим содержимым. Поэтому всегда старайтесь минимизировать использование заголовков в вашей программе...