Как преобразовать классическое приведение типа к приведению через static_cast<>()
Читаю книгу "Эффективное программирование TCP/IP" (автор: Йон Снейдер). Там описывается вызов socket() клиентом следующим образом:
rc = connect( s, ( struct sockaddr * )&peer, sizeof( peer ) );
Здесь переменная peer имеет тип struct sockaddr_in и приведение типа сделано в стиле C. В то же время современные книжки рекомендуют делать приведение именно через static_cast<>(). К сожалению, ни один из опробованных мной вариантов приведения через static_cast<>(), не сработал. Вот пример одного из многих ошибочных, который, на мой взгляд, должен был бы заработать:
static_cast<struct sockaddr *>((&peer))
Вопросов 2.
- Можно ли сделать такое приведение типов через static_cast<>()?
- Если можно, то как это сделать?
Платформа: Windows 10 64bit
IDE: Eclipse CDT последней версии
Компилятор: из набора Cygwin64