Re[3]: снова vector
От: _KAV Россия  
Дата: 04.07.05 15:52
Оценка:
Здравствуйте, ef1, Вы писали:

ef1>Доступ из других классов к этому массиву мне нужен, т.к. буду заполнять массив оттуда. Элемент массива такой


ef1>//---

ef1>CString mFileName; //полный путь к файлу с именем
ef1>struct iParam
ef1> {
ef1> CString Name; //имя параметра
ef1> CString Unit; //размерность параметра
ef1> double Value; //значение параметра
ef1> };
ef1>//---

ef1>и мне нужно создать такой динамический массив (внутри которого еще динамический массив структур), не знаю как его объявить, и как к нему обращаться из других файлов, если время есть, пару строк?!


Я что-то не очень понял, в чем вопрос . Давай проясним. Насколько я понял, массив выглядит так:

0 элемент:
имя файла ( mFileName )
параметры ( неограниченное количество структур iParam )
1 элемент:
— то же самое — (но параметров может быть другое количество)

Если так, то вот вариант:
struct TParameter
{
  CString name;
  CString unit;
  double value;
};

struct TElement
{
  CString FileName;  
  vector <TParameter> Params;
};

// сам массив всех файлов с параметрами
vector <TElement> Settings;

// а если тебе надо обращаться из других файлов, то в h-файле надо как extern объявить его:
extern vector <TElement> Settings;

// пример добавления параметра
TParameter par1;
par1.name = "par1";
...  // другие свойства (вообще, лучше сделать конструктор у TParameter)
TElement el1;
el1.FileName = "file";
el1.Params.push_back( par1 );
Settings.push_back( el1 );
Я прихожу в бешенство от одной мысли о том, сколько бы я всего узнал, если бы не ходил в школу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.