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 | 3803 |
2 | jiangly | 3707 |
3 | Benq | 3627 |
4 | ecnerwala | 3584 |
5 | orzdevinwang | 3573 |
6 | Geothermal | 3569 |
6 | cnnfls_csy | 3569 |
8 | Radewoosh | 3542 |
9 | jqdai0815 | 3532 |
10 | gyh20 | 3447 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | awoo | 163 |
2 | maomao90 | 160 |
3 | adamant | 159 |
4 | maroonrk | 152 |
5 | -is-this-fft- | 150 |
6 | atcoder_official | 148 |
6 | SecondThread | 148 |
8 | nor | 147 |
9 | TheScrasse | 146 |
10 | Petr | 144 |
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. Для тех неадекватов, что наставили мне минусы на комментарий выше: зайдите в профиль автора топика. Вспомните, что Казахстан — страна бывшего СССР, и русский язык тут знают.