Bits stdc h что это

Как #include работает в С++?

ОТВЕТЫ

Ответ 1

Использование этого будет включать в себя много лишних вещей и увеличивает время компиляции.

Изменить: Как говорит Нил, это реализация для предварительно скомпилированных заголовков. Если вы правильно настроили его для предварительной компиляции, это фактически ускорит время компиляции в зависимости от вашего проекта. (https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html)

Я бы предположил, что вам потребуется время, чтобы узнать о каждом из заголовков sl/stl и включить их отдельно, а не использовать «суперзбудители», кроме прекомпиляции.

Ответ 2

С точки зрения разработки программного обеспечения, рекомендуется минимизировать включение. Если вы его используете, на самом деле это включает в себя множество файлов, которые могут не понадобиться вашей программе, поэтому без необходимости увеличивать время компиляции и размер программы.

Он работает в большинстве онлайн-судей, в среде программирования, включая ACM-ICPC (субрегиональные, региональные и мировые финал) и многие онлайн-судьи.

Недостатки этого в том, что он

Ответ 3

Этот заголовочный файл не является частью стандарта С++, поэтому он не переносится и его следует избегать.

Кроме того, даже если в стандарте есть какой-то заголовок, все же нужно избегать его вместо конкретных заголовков, поскольку компилятор должен действительно читать и анализировать каждый включенный заголовок (включая рекурсивно включенные заголовки) каждый один раз, когда скомпилирована единица перевода.

Источник

Я отправил вопрос со своим кодом, единственной #include директивой которого было следующее:

Мой учитель сказал мне сделать это, но в разделе комментариев мне сообщили, что я не должен.

Я предполагаю, что преимущества расплывчаты так:

К недостаткам можно отнести:

Не делай этого!

Пример того, почему Quora это плохо:

Для тех, кто пишет такие «учебники»

игрушка, проблема или другое устройство, разработанное, чтобы развлечь, представляя трудности, которые должны быть решены с помощью изобретательности или терпеливых усилий.

Они предназначены для развлечения, а не для того, чтобы работающий программист мог быть удивлен реальной проблемой, возникающей в их повседневной работе.

Как и следовало ожидать, игра в гольф кода вознаграждает за крайнее злоупотребление языком программирования. Однобуквенные имена переменных. Нет пробелов. Творческое использование библиотечных функций. Недокументированные функции. Нестандартные практики программирования. Ужасные хаки.

Если на работе программист отправит запрос на извлечение, содержащий код в стиле гольфа, он будет отклонен. Их сотрудники смеялись бы над ними. Их менеджер заходил к их столу, чтобы поболтать. Тем не менее, программисты развлекаются, отправляя ответы в PP & CG.

Это все действительные и правильные возражения. Так зачем кому-то использовать это чудовище?

Это хорошая идея? Давайте проверим список недостатков. Переносимость? Это не имеет значения, поскольку эти события кодирования используют конкретную версию компилятора, которую участники заранее знают. Соответствие стандартам? Не относится к блоку кода, срок полезного использования которого составляет менее одного часа. Время компиляции и размер исполняемого файла? Они не являются частью рубрики конкурса.

Это поднимает вопрос о том, почему вообще стоит участвовать в конкурентном программировании, если оно поощряет вредные привычки, такие как использование stdc++.h и нарушение других стандартов кодирования. Один из ответов заключается в том, что люди делают это по той же причине, по которой они публикуют программы на PP & CG: некоторые программисты находят приятным использование своих навыков кодирования в игровом контексте.

Таким образом, вопрос о том, стоит ли использовать, stdc++.h сводится к тому, перевешивает ли скорость кодирования в конкурсе программирования перевес вредных привычек, которые можно выработать при его использовании.

Источник

How does #include work in C++? [duplicate]

I have read from a codeforces blog that if we add #include in a C++ program then there is no need to include any other header files. How does #include work and is it ok to use it instead of including individual header files?

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

4 Answers 4

It is basically a header file that also includes every standard library and STL include file. The only purpose I can see for it would be for testing and education.

Using it would include a lot of unnecessary stuff and increases compilation time.

Edit: As Neil says, it’s an implementation for precompiled headers. If you set it up for precompilation correctly it could, in fact, speed up compilation time depending on your project. (https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html)

I would, however, suggest that you take time to learn about each of the sl/stl headers and include them separately instead, and not use «super headers» except for precompilation purposes.

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

#include is an implementation file for a precompiled header.

From, software engineering perspective, it is a good idea to minimize the include. If you use it actually includes a lot of files, which your program may not need, thus increase both compile-time and program size unnecessarily. [edit: as pointed out by @Swordfish in the comments that the output program size remains unaffected. But still, it’s good practice to include only the libraries you actually need, unless it’s some competitive competition ]

But in contests, using this file is a good idea, when you want to reduce the time wasted in doing chores; especially when your rank is time-sensitive.

It works in most online judges, programming contest environments, including ACM-ICPC (Sub-Regionals, Regionals, and World Finals) and many online judges.

The disadvantages of it are that it:

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

That header file is not part of the C++ standard, is therefore non-portable, and should be avoided.

Moreover, even if there were some catch-all header in the standard, you would want to avoid it in lieu of specific headers, since the compiler has to actually read in and parse every included header (including recursively included headers) every single time that translation unit is compiled.

Unfortunately that approach is not portable C++ (so far).

All standard names are in namespace std and moreover you cannot know which names are NOT defined by including and header (in other words it’s perfectly legal for an implementation to declare the name std::string directly or indirectly when using #include ).

Despite this however you are required by the language to know and tell the compiler which standard header includes which part of the standard library. This is a source of portability bugs because if you forget for example #include but use std::map it’s possible that the program compiles anyway silently and without warnings on a specific version of a specific compiler, and you may get errors only later when porting to another compiler or version.

In my opinion there are no valid technical excuses that explain why this is necessary for the general user: the compiler binary could have all standard namespace built in and this could actually increase the performance even more than precompiled headers (e.g. using perfect hashing for lookups, removing standard headers parsing or loading/demarshalling and so on).

The use of standard headers simplifies the life of who builds compilers or standard libraries and that’s all. It’s not something to help users.

However this is the way the language is defined and you need to know which header defines which names so plan for some extra neurons to be burnt in pointless configurations to remember that (or try to find and IDE that automatically adds the standard headers you use and removes the ones you don’t. a reasonable alternative).

Источник

Как работает #include в C++?

Я прочитал от codeforces блог, что если мы #include на C++ program тогда нет необходимости включать какие-либо другие файлы заголовков. как это #include работает, и можно ли использовать его вместо включения отдельных файлов заголовков?

5 ответов

использование его будет включать в себя много ненужных вещей и увеличивает время компиляции.

Edit: как говорит Нил, это реализация для предварительно скомпилированных заголовков. Если вы правильно настроили его для предварительной компиляции, это может на самом деле ускорить время компиляции, в зависимости от вашего проекта. (https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html)

однако я бы предложил вам потратить время, чтобы узнать о каждом из заголовков sl/stl и включить их отдельно, а не использовать «перегружатели», кроме как для целей предварительной компиляции.

С точки зрения разработки программного обеспечения, рекомендуется свести к минимуму включение. Если вы используете его на самом деле включает в себя много файлов, которые программа может не понадобиться, таким образом, увеличить время компиляции и размер программы без надобности. [edit: как указано @Swordfish в комментариях, размер выходной программы остается неизменным. Но все же, это хорошая практика, чтобы включить только библиотеки, которые вам действительно нужны, если это не какая-то конкурентная конкуренция]

но в конкурсах использование этого файла-хорошая идея, когда вы хотите сократить время, потраченное на выполнение домашних обязанностей; особенно когда ваш ранг чувствителен ко времени.

он работает в большинстве онлайн-судей, среды программирования конкурса, включая ACM-ICPC (субрегиональные, региональные и мировые финалы) и многих онлайн-судей.

недостатки его в том, что он

этот файл заголовка не является частью стандарта C++, поэтому не переносится и его следует избегать.

более того, даже если бы в стандарте был какой-то заголовок catch-all, вы хотели бы избежать его вместо определенных заголовков, так как компилятор должен фактически читать и анализировать каждый включенный заголовок (включая рекурсивно включенные заголовки) каждый раз, когда блок перевода компилируется.

к сожалению, этот подход не является портативным C++ (до сих пор).

все стандартные имена в пространстве имен std и более того, вы не можете знать, какие имена не определяется включением и заголовком (другими словами, это совершенно законно для реализации объявить имя std::string прямо или косвенно при использовании #include ).

несмотря на это, однако язык требует, чтобы вы знали и сообщали компилятору, какой стандартный заголовок включает в себя часть стандартной библиотеки. Это источник ошибок переносимости, потому что если вы забыли, например #include но использовать std::map возможно, что программа компилируется в любом случае молча и без предупреждений о конкретной версии конкретного компилятора, и вы можете получить ошибки только позже при переносе на другой компилятор или версию.

на мой взгляд, нет никаких допустимых технических оправданий, потому что это необходимо для общего пользователя: двоичный файл компилятора может иметь все стандартное пространство имен встроенный, и это может фактически увеличить производительность даже больше, чем предварительно скомпилированные заголовки (например, используя идеальный хеширование для поиска, удаление стандартных заголовков разбора или загрузки/демарширования и так далее).

использование стандартных заголовков упрощает жизнь тех, кто создает компиляторы или стандартные библиотеки, и это все. Это не то, что помогает пользователям.

однако именно так определяется язык, и вам нужно знать, какой заголовок определяет, какие имена так планируют некоторые дополнительные нейроны должны быть сожжены в бессмысленных конфигурациях, чтобы запомнить это (или попытаться найти и IDE, которая автоматически добавляет стандартные заголовки, которые вы используете, и удаляет те, которые вы не делаете. разумная альтернатива.)

Это в основном файл заголовка, который включает в себя все стандартные библиотеки.
В соревнования по программированию, использование этого файла-хорошая идея, когда вы хотите уменьшить время, потраченное на выполнение домашних обязанностей; особенно когда ваш ранг чувствителен ко времени.
В соревнования по программированию, люди больше фокусируются на поиске алгоритма для решения проблемы, чем на программной инженерии.
Но в программного обеспечения перспектива, это не очень хорошая идея для использования. Если вы используете его на самом деле включает в себя много файлов, которые ваша программа может не понадобиться, таким образом увеличивает время компиляции и размер программы без необходимости.

Источник

Bits stdc h что это

solution to include bits/stdc++.h in visual c++

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Thank you very much (1+from me)

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

so clever you are! Thank you!

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

u can download the bits folder here

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Thanks a lot. You saved my day.

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Worked Beautifully, thank you so much.

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Thanks a lot, from all the students of Moscow University ACM group!

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

thanks a lot.

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Thanks and here’s another solution. Just include the in Visual Studio has the same effect as including in GCC or MinGW.

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Sorry if my question seems irrelevant.I cannot use include bits/stdc++.h in visual studio code editor.Do u have any fix for that?

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

for Microsoft Visual Studio Professional, you can try to add folder bits to path: «C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include»

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

With latest MinGW default installation, I found the folder at C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++\mingw32\bits

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

thanks you are the best****

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Any idea how to do this for Microsoft VS Code?

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Bits stdc h что это. Смотреть фото Bits stdc h что это. Смотреть картинку Bits stdc h что это. Картинка про Bits stdc h что это. Фото Bits stdc h что это

Okay i found out, on the internet its not explained straight forward anywhere, but here is what worked out for me (hopefully this will save someones time).

First one has to download the stdc++.h file, or you could alternatively copy it from the mingw folder if you have mingw, its path should be: C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\x86_64-w64-mingw32\bits

When you locate it, copy it to the Visual Studio code «include» library Its path is C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC[some number]\include\bits The bits folder might not be there, in that case just create it yourself and put the stdc++.h file inside the new folder.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *