C++ C++;如何在不复制的情况下在deque中存储元素

C++ C++;如何在不复制的情况下在deque中存储元素,c++,pointers,deque,C++,Pointers,Deque,我想将指针存储在如下所示的数据块中: deque pointerDeque void testApp::iTakeAPointer(ofImage * &pointer) { cout << "iTakeAPointer " << &pointer << endl; pointerDeque.push_back(pointer); cout << "pointerDeque.back() " <

我想将指针存储在如下所示的数据块中:

deque pointerDeque

void testApp::iTakeAPointer(ofImage * &pointer) {
     cout << "iTakeAPointer  " << &pointer << endl;
     pointerDeque.push_back(pointer);
     cout << "pointerDeque.back() " << pointerDeque.back() << endl;
}
因为deque.push_back()创建了一个副本。我的问题是:在本例中,如何在deque中获取引用0xbffff240

编辑:

谢谢。有时你看不见树木,看不见森林

cout << "iTakeAPointer " << pointer << endl; 库特 库特 改为

void testApp::iTakeAPointer(ofImage * pointer) { // remove ref
改为

void testApp::iTakeAPointer(ofImage * pointer) { // remove ref

您的诊断不正确。这是打印指针的地址,而不是指针持有的地址(这是您想要的):



注意,
pointerDeque
中包含的
ofImage
实例必须在其生存期内存在。如果<代码> PoTeDeQue/COD>现在拥有<<代码>图像实例,则考虑使用<代码> STD::UnQuyJPPT。如果它不拥有它,请考虑使用<代码> STD::SysDypPTR (或<代码> Booo::SyrdYPPTR < /代码>)。< /P> < P>您的诊断是不正确的。这是打印指针的地址,而不是指针持有的地址(这是您想要的):



注意,
pointerDeque
中包含的
ofImage
实例必须在其生存期内存在。如果<代码> PoTeDeQue/COD>现在拥有<<代码>图像实例,则考虑使用<代码> STD::UnQuyJPPT。如果它不拥有它,考虑使用<代码> STD::SysDypPTR (或<代码> Booo::SyrdYPPTR < /代码>).< /P>谢谢。在这种情况下,ofImage实例在其生存期内存在。不管怎样,我会调查std::shared\u ptr。谢谢。在这种情况下,ofImage实例在其生存期内存在。无论如何,我将研究std::shared\u ptr。
void testApp::iTakeAPointer(ofImage * pointer) { // remove ref
cout << "iTakeAPointer  " << &pointer << endl;
cout << "iTakeAPointer  " << pointer << endl;