В общем, я малость запутался.
Есть некий тип-структура, имеющий в своем составе какой-либо STL-объект.
Я передаю такую структуру по указателю в конструктор класса.
В конструкторе делается копия в член класса, изменение оригинала и, при определенных условиях, копирование в обратную сторону - копия из члена класса в указатель.
typedef struct _struct1_t
{
// .....
} struct1_t;
typedef std::vector<struct1_t> list_struct1_t;
typedef struct _struct2_t
{
list_struct1_t list;
} struct2_t;
class class1
{
private:
struct2_t *p, copy;
public:
class1(struct2_t *p);
void onExit(void);
};
class1::class1(struct2_t *p)
{
this->p = p;
copy = *p;
}
void class1::onExit(void)
{
if (....)
*p = copy;
}
Вопрос вот в чем: нет ли тут каких подвохов, если сработает код в onExit()?
Вроде бы не должно, но я не уверен. Под вечер мозг немного скрючился и туго думает.