Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Оригинальный способ инициализации структуры
Форум на CrossPlatform.RU > Разработка > С\С++
Andrew Selivanov
Оригинальный способ инициализации структуры (заимствовано из примера к boost.asio)
struct mapping
{
  const char* extension;
  const char* mime_type;
} mappings[] =
{
  { "gif", "image/gif" },
  { "htm", "text/html" },
  { "html", "text/html" },
  { "jpg", "image/jpeg" },
  { "png", "image/png" },
  { "swf", "application/x-shockwave-flash" },
  { 0, 0 } // Marks end of list.
};
LuckLess
{ 0, 0 } // Marks end of list.
Зачем? Конец можно узнать через sizeof
ViGOur
ну как я понял Andrew сделал просто Copy-Pаste из asio и не более того, но способ и правда оригинален... :)
Andrew Selivanov
Цитата(LuckLess @ 17.10.2007, 11:35) *
{ 0, 0 } // Marks end of list.
Зачем? Конец можно узнать через sizeof


Можно, а в чем преимущество? Кроме того этот метод не отлетит в рантайме :)
LuckLess
Цитата(ViGOur @ 17.10.2007, 12:24) *
ну как я понял Andrew сделал просто Copy-Pаste из asio и не более того, но способ и правда оригинален... :)

ну.. пруемущества
1. не будет лишней структуры в массиве
2. если структура не будет .. мм.. такой.. что ее нельзя однозначно представить в виде логического "нуля" - твой стпособ не пройдет.

Цитата
Кроме того этот метод не отлетит в рантайме

не понял.. в смысле?


пс. массивы структур - зло :p (а совмещение обпределения структуры с объявлением и инициализацией структуры - двойное зло :p)
ViGOur
Цитата(LuckLess @ 17.10.2007, 13:56) *
пс. массивы структур - зло :p (а совмещение обпределения структуры с объявлением и инициализацией структуры - двойное зло :p)
Почему же зло, тут некоторые считают, что указатели это зло... :rolleyes:
Andrew Selivanov
Цитата(LuckLess @ 17.10.2007, 14:56) *
Цитата(ViGOur @ 17.10.2007, 12:24) *
ну как я понял Andrew сделал просто Copy-Pаste из asio и не более того, но способ и правда оригинален... :)

ну.. пруемущества
1. не будет лишней структуры в массиве
2. если структура не будет .. мм.. такой.. что ее нельзя однозначно представить в виде логического "нуля" - твой стпособ не пройдет.

Цитата
Кроме того этот метод не отлетит в рантайме

не понял.. в смысле?


пс. массивы структур - зло :p (а совмещение обпределения структуры с объявлением и инициализацией структуры - двойное зло :p)


Короче для такого применения как в примере выше оно вполне подходит. Под рантаймом имелось ввиду выделить память и инициализировать после запуска. Да, можно сделать по всякому. А еще можно сказать, что если оставить с нулевой структурой - не будет лишней операции деления :)

Предлагаю постить свои методы способы и прочее для решения частных задач... вроде той что в этой теме :)
Гость
Интересно, а кто-нибудь вообще заморачивался тем, чтобы почитать Мейерса, Эккеля, Страуструпа наконец?
А то полно каких-то "оригинальных методов", а чего оригинального в инициализации агрегатов таким способом - хз! В каждом справочнике по языку это есть, не говоря уж об учебниках и стандарте...
ViGOur
Цитата(Гость_Гость_* @ 16.9.2008, 2:41) *
а чего оригинального в инициализации агрегатов таким способом - хз! В каждом справочнике по языку это есть, не говоря уж об учебниках и стандарте...
Когда читаешь книгу, то что-то запомнил, что-то забыл. Того же страуструпа я уже раза 3 перечитал, и каждый раз нахожу что-то новое для себя. :)
Хотя на память не жалуюсь!
Andrew Selivanov
Цитата(Гость @ 16.9.2008, 2:41) *
Интересно, а кто-нибудь вообще заморачивался тем, чтобы почитать Мейерса, Эккеля, Страуструпа наконец?
А то полно каких-то "оригинальных методов", а чего оригинального в инициализации агрегатов таким способом - хз! В каждом справочнике по языку это есть, не говоря уж об учебниках и стандарте...

Художника обидеть может каждый :rolleyes:
molchanoviv
Цитата(Andrew Selivanov @ 18.9.2008, 14:12) *
Художника обидеть может каждый



Да, кто не задумывается о последствиях. (шутка)
kuler
это стандартный способ инициализации, который идет в учебнике на первых страницах
Andrew Selivanov
Цитата(kuler @ 14.10.2008, 16:21) *
это стандартный способ инициализации, который идет в учебнике на первых страницах

не гони, на первых страницах идет оглавление :)
Litkevich Yuriy
я такое в книжках не разу не видел, а вот в коде встречал
trdm
Цитата(Гость @ 16.9.2008, 2:41) *
Интересно, а кто-нибудь вообще заморачивался тем, чтобы почитать skiped-na-biped

повторение - мать учения.
Али не читал такого?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.