Брутально и бессердечно о программировании и проектировании
ГлавнаяФорумАртПаттерныАнтипаттерныТест-драйвВопрос-ответКнигорецензииСправочная

sizeof — тип или значение?

Как использовать sizeof? Речь идет о случае, когда вы хотите передать данные какому-то внешнему API. Варианта, собственно, два. Вот первый:
0
1
2
math::matrix mat;
std::size_t mat_size = sizeof(math::matrix);
socket->send(&mat, mat_size);
 
А вот второй:
0
1
2
math::matrix mat;
std::size_t mat_size = sizeof(mat);
socket->send(&mat, mat_size);
Я рекомендую использовать второй вариант. Во-первых, если тип передаваемого объекта изменится, вам не придется менять код. Во-вторых, первый вариант дает пользователю информацию о типе объекта. Эта информация лишняя. Все, что пользователь должен знать об объекте, должно быть видно из имени этого объекта. И в третьих, второй вариант наглядно показывает, для какого объекта будут использованы полученные данные. Это обогащает семантику кода.

Оглавление
Статистика
© 2007—2010 Inside C++ Коммерческие услугиКонтактная информация

купить диплом кандидата наук. . встраиваемые вытяжки. . штукатурная станция вопросы на сайте и новости про штукатурная станция. . беспроводной интернет для ноутбука. . quick step ламинат. . парсер текста. . скрипит деревянный пол разные объявления на форуме. . натяжные потолки установка. . кофеварка saeco nina bar. . временная регистрация. . нячанг отели.