制作iNUIsensor对象列表 我试图在C++中列出一个iNuSuNor对象列表,
我试过使用这个:制作iNUIsensor对象列表 我试图在C++中列出一个iNuSuNor对象列表,,c++,list,C++,List,我试过使用这个: std::list<INuiSensor*> nuiList; ... nuiList.push_front(&nui); 您正在推送指向nui的指针,而列表需要指向nui的指针: std::list<INuiSensor*> nuiList; ... nuiList.push_front(nui); // <--- note the lack of & 读取为:获取名为nui的对象的地址。因此,如果对象是指向n
std::list<INuiSensor*> nuiList;
...
nuiList.push_front(&nui);
您正在推送指向
nui
的指针,而列表需要指向nui
的指针:
std::list<INuiSensor*> nuiList;
...
nuiList.push_front(nui); // <--- note the lack of &
读取为:获取名为nui的对象的地址
。因此,如果对象是指向niu
的指针,那么指针的地址就是指向指针的指针
这并不是问题,但我认为值得一提的是:避免将对象指针存储到容器中并按对象实例更改存储类型可能是一个好主意:
std::list <INuiSensor*> VS std::list <INuiSensor>
std::list VS std::list
使用指针时,必须注意对象的分配和解除分配,如果列表是全局的,则需要一个公共关闭方法来解除分配列表中存储的指针管理的所有内存,如果列表属于某个对象,则需要在对象析构函数中执行相同的过程
但是,如果您正在存储对象实例,列表析构函数将在其生命周期结束时释放所有存储的对象,代码更干净,更易于维护。显示
nui
的声明。nui
的类型是什么?。
std::list<INuiSensor*> nuiList;
...
nuiList.push_front(nui); // <--- note the lack of &
&nui
std::list <INuiSensor*> VS std::list <INuiSensor>