|
|
|
Массив
|
|||
|---|---|---|---|
|
#18+
Забыл, а книжки под рукой нету... Если я написал функцию: Код: plaintext 1. 2. 3. Массив создаётся в стеке или где? Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы или при каждом запуске функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 09:48 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
да в стеке ... ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 09:52 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
[quote] Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы или при каждом запуске функции?[/quote] Инициализировать сам должен ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 09:53 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
Алексей К Код: plaintext 1. 2. 3. Массив создаётся в стеке или где? В стеке. Алексей К Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы Где там глобальная переменная ? Нету там глобальной переменной. И инициализации никакой нету, если явную не пропишешь. Это - один из распространенных мифов. Алексей К или при каждом запуске функции? Нет, если ты добавишь туда static в объявление, инициализация, если она будет прописана, будет выполнена только один раз при первом входе в тело функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 10:56 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
Понял, спасибо. Просто где-то давно видел (или слышал на лекции в институте, точно не помню) что все массивы живут там же где глобальные переменные и инициализируются нулями (если явно не указаны значения элементов массива). Наверное показалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 12:46 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
Алексей КПонял, спасибо. Просто где-то давно видел (или слышал на лекции в институте, точно не помню) что все массивы живут там же где глобальные переменные и инициализируются нулями (если явно не указаны значения элементов массива). Наверное показалось... Правильно видел (или слышал:)), что глобальные массивы инициализируются нулями. Но только глобальные. Те что в стеке или куче, не инициализируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 17:16 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
руками все надо делать. глобальные тоже ничем не инициируются. и тех, кто так думает, и в расчете на это программит, надо убивать. потому что потом кто-нибудь скомпилит в релизе, а там раздвинется в левую область памяти и будешь разбираться, почему в дебаге все пашет, а в релизе на 35-ом запуске вылетает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 22:17 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
Да я никогда на автоинициализацию нулями не полагаюсь... тоже как вы и советуете всегда всё сам, если надо конечно... спасибо за советы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 07:27 |
|
||
|
Массив
|
|||
|---|---|---|---|
|
#18+
2 Алексей Буйницкий авторруками все надо делать. глобальные тоже ничем не инициируются. и тех, кто так думает, и в расчете на это программит, надо убивать. Вообще говоря, инициализацию не локальных объектов "нулем" (так называемая zero-initialize (см. 8.5 п. 5)) гарантирует стандарт (см. 3.6.2). Если Вам этого не достаточно, то Вас надо изолировать от общества, прежде чем Вы порешите добрую половину человечества, использующую этот тип инициализации:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 19:06 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32719497&tid=2034332]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 393ms |

| 0 / 0 |
