|
|
|
ZeroMemory после New();
|
|||
|---|---|---|---|
|
#18+
Добрый день. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 17:46 |
|
||
|
ZeroMemory после New();
|
|||
|---|---|---|---|
|
#18+
Форум Автор Проверка, Зависит от логики решения задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 18:00 |
|
||
|
ZeroMemory после New();
|
|||
|---|---|---|---|
|
#18+
ДокументацияFor global variables, local variables, objects, and dynamic variables allocated using New, the compiler generates code that initializes all long strings and variants contained by a variable upon creation of the variable. Инициализация всего остального - на тебе. PS: У объектов, создаваемых с помощью классовых конструкторов, правила другие. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 18:05 |
|
||
|
ZeroMemory после New();
|
|||
|---|---|---|---|
|
#18+
Сам как-то напоролся... New не обнуляет выделенную память, как и GetMem. А вот AllocMem обнуляет. Если нет совсем уж критичных требований по скорости, я бы порекомендовал всегда обнулять - это убережет от мистических багов в будущем, даже если сразу после выделения памяти казалось бы все поля записи присваиваются (а вдруг потом появится новое поле?). Кстати, в D2009+ появилась удобная конструкция Default, применяемая так: fpItem^ := Default(TMyItem); что дает проверку типов, да и для мелких структур быстрее ZeroMemory ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 09:57 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2041126]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 463ms |

| 0 / 0 |
