Hello
I solved this task, but I have a question.
First of all I submitted this code
TL : 0.04 Memory : 1672
Then I resubmitted this code but without #include <iostream>
TL: 0.04 but Memory : 1088
Question: For what spends memory in iostream?
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 166 |
2 | maomao90 | 163 |
2 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
Hello
I solved this task, but I have a question.
First of all I submitted this code
TL : 0.04 Memory : 1672
Then I resubmitted this code but without #include <iostream>
TL: 0.04 but Memory : 1088
Question: For what spends memory in iostream?
Название |
---|
it should be because of the template functions a header file uses ... :)
Отвечаю на русском, т.к. топик в русской ветке.
Судя по всему, дело в буферах стандартных потоков C++ (cin, cout, cerr, clog и их юникодных аналогов). Дело в том, что эти потоки скорее всего реализованы как обертки для сишных потоков и имеют отдельный буфер. Т.о., когда ты не подключаешь
<iostream>
, буферы создаются только для сишных потоков, а когда подключаешь — еще и для оберток.Думаю, слово обертки тут неприменимо — синхронизацию ведь можно отключить и iostreams будут работать без cstdio.
Ну так это все compiler-specific, в том же VC++ синхронизация не отключается.
Суть не в этом. В
<iostream>
определены глобальные объекты, которые нужно инициализировать. В этих объектах есть буферы, которые нужно инициализировать (это делается еще до запуска main(), в котором ты отключаешь синхронизацию). Вот отсюда и overhead.P.S. Для тех неадекватов, что наставили мне минусы на комментарий выше: зайдите в профиль автора топика. Вспомните, что Казахстан — страна бывшего СССР, и русский язык тут знают.