1. C++ / Говнокод #7566

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Сори что сюды, но тут быстрее всего получить ответ)))
    Можете заслуженно ставить минусы.
    Как мне получить доступ к типу обьявленному и зависящему от параметров по имени переменной?
    Хочу сделать что то типа:
    const typeof(c->active)::entry * const e = c->active.GetEntry(i);
    вместо
    const structs::local_db<package, 64, type>::entry *const (на практике символов больше)
    
    взять к примеру те же итераторы.
    
    P.S больше не буду, но мне показалось это говнокодом)

    Запостил: Enelar, 17 Августа 2011

    Комментарии (5) RSS

    • В новом стандарте C++0x:
      const decltype(c->active)::entry * const e = c->active.GetEntry(i);
      или
      auto = c->active.GetEntry(i);


      В старом стандарте:
      typedef const structs::local_db<package, 64, type>::entry *const YaLoh;
      YaLoh e = c->active.GetEntry(i);
      ...
      YaLoh e2 = c->active.GetEntry(j);
      Ответить
      • жаль что кроме тайпдефа никак. спасибо.
        Ответить
        • >жаль что кроме тайпдефа никак. спасибо.
          Ну почему же никак?
          boost::typeof и его аналоги.

          Некоторые компиляторы поддерживают нестандартные расширения, например typeof в GCC или __typeof в некоторых других.
          Ответить
    • > Сори что сюды, но тут быстрее всего получить ответ)))
      Извините, что спамлю, но не купить ли Вам немного виагры
      Ответить
    • Bydlo has been summoned. It has begun.
      Ответить

    Добавить комментарий