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 | 3985 |
2 | orzdevinwang | 3844 |
3 | jqdai0815 | 3682 |
4 | jiangly | 3618 |
5 | Benq | 3529 |
6 | ksun48 | 3489 |
7 | Radewoosh | 3483 |
8 | Kevin114514 | 3443 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | atcoder_official | 162 |
3 | maomao90 | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | djm03178 | 152 |
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. Для тех неадекватов, что наставили мне минусы на комментарий выше: зайдите в профиль автора топика. Вспомните, что Казахстан — страна бывшего СССР, и русский язык тут знают.