Нужно ли очищать память в структуре sockaddr_in перед использованием?

236
08 августа 2017, 16:32

Я видел множество примеров кода на C и C++, в некоторых используется такая конструкция:

sockaddr_in address;
ZeroMemory(&address, sizeof(address));
...

Для чего это сделано и в каких условиях должно быть применено?

Answer 1

Шон Уолтон в книге "Создание сетевых приложений в среде Linux", на стр 34 поясняет этот вопрос следующим образом:

В конце структуры sockaddr_in находится поле заполнителя, длина которого зависит от длины предшествующего адреса. Поскольку в ip4 и ip6 поле адреса имеет разную длину, то и заполнитель получается разной. длины. Однако, в некоторых *NIX системах эти байты заполнителя используются для передачи некоторой дополнительной информации. Для того, что бы избежать конфликтов при передаче данных, принято эти поля заполнять нулями.

READ ALSO
invalid use of incomlete type 'ui:***'

invalid use of incomlete type 'ui:***'

Нужно сделать базовый класс BaseWidget, который содержит в себе базовый ui и наследоваться от него другими классами, которые будут использовать...

333
Сопрограммы в С++

Сопрограммы в С++

Недавно техническая спецификация сопрограмм, Coroutines TS, дошла до состояния "опубликована"Сопрограммы реализованы в MS VC++ 2017

395
GetModuleFileNameEx - ERROR_PARTIAL_COPY

GetModuleFileNameEx - ERROR_PARTIAL_COPY

GetModuleFileNameEx частенько возвращает 0GetLastError говорит об ошибке 299 (ERROR_PARTIAL_COPY - only part of a ReadProcessMemory or WriteProcessMemory request was completed)

504
В чём может быть проблема?

В чём может быть проблема?

Вот код на C++На этой строчке выдаются такие ошибки:

353