Траблы со struct

Тема в разделе "LANGS.C", создана пользователем Maratyszcza, 3 июл 2007.

  1. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
    Имеем структуру вида
    Код (Text):
    1. struct Color
    2. {
    3. float red;
    4. float green;
    5. float blue;
    6. }
    Нужно: переписать структуру так, чтобы можно было создать контейнер вида std::vector, в котором бы массив ColorEx[1024] таких структур хранился в виде
    float red[1024];
    float green[1024];
    float blue[1024];
    и при этом можно было обращаться к данным как vectorEx[index].green
    Решение должно быть достаточно общим, не привязываться к конкретному классу Color

    Идеальный вариант: сделать так, чтобы new ColorEx[1024] выделяло массив, в котором данные хранятся подобным образом
     
  2. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
    Простое объявление ColorEx color(); тоже должно корректно создавать объект
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Разве что через vectorEx[index].green(). Зачем извращаться-то так?
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    есть такая штука indexers, может поможет.
     
  5. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Maratyszcza

    Это объявление функции а не создание объекта.
     
  6. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
    IceStudent
    Если можно сделать как вызов метода, то можно сделать и как доступ к свойству. А идея-то какая?

    FreeManCPM
    Можно поподробнее? Нужно, чтобы работало под Intel C++/GNU C++, привязываться к MS C++.Net низя

    _DEN_
    Если это в теле функции, то это создание объекта с вызовом конструктора без параметров
     
  7. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Maratyszcza, я тока эту штуку видел как си-шпрех смотрел... в мсдн толково описанна
     
  8. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    Maratyszcza
    не правильно.
    _DEN_ прав.

    выглядит так:
    ColorEx color = ColorEx();
     
  9. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
    Да, действительно прав

    Кажется, я нашёл решение. Хотя и грубое
     
  10. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Maratyszcza
    Делись им. И так и не сказал, чем обусловлены такие требования.