Здравствуйте, Аноним, Вы писали:
А>Есть допустим у меня структура:
А>typedef struct USERDATA_INFO
А>{
А> int iAccountType;
А> LPCTSTR lpUserName;
А> ......
А> .......
А>} USERDATA_INFO, *LPUSERDATA_INFO;
А>list<LPUSERDATA_INFO> user_data;
А>Вопрос: Как теперь для 10 юзеров заполнить эту структуру.
...
А> Трабл в том , что потом надо удалять юзеров добавлять новых, вобщем надо помучиться.
А> Я слышал что пользуя STL это все можно сделать гораздо проще(если уметь), красивее и грамотнее.
Действительно, в STL это проще, поскольку не надо заботиться о размещении/удалении памяти.
Например:
struct USERDATA_INFO
{
// желательно иметь default constructor
USERDATA_INFO()
: iAccountType(-1) {}
// просто удобно для создания объектов
USERDATA_INFO(int accType, const std::string &userName)
: iAccountType(accType), lpUserName(userName) {}
int iAccountType;
std::string lpUserName;
......
.......
};
std::list<LPUSERDATA_INFO> user_data;
user_data.push_back(USERDATA_INFO (1, "Vasia"));
user_data.push_back(USERDATA_INFO (2, "Masha"));
Для работы с элементами STL-контейнеров используются итераторы.
Также советую посмтреть другие контейнеры: std::vector, std::map.
Вообще, читай мануалы побольше!
Творческих успехов!
Serge.
Hасколько проще была бы жизнь, если бы она была в исходниках.