我目前正在学习如何使用智能指针。 然而,在做一些实验时,我发现了以下的情况,我找不到一个可喜的解决scheme: 假设你有一个A类的对象,它是B类对象(孩子)的父对象,但两者都应该相互认识: class A; class B; class A { public: void addChild(std::shared_ptr<B> child) { children->push_back(child); // How to do pass the pointer correctly? // child->setParent(this); // wrong // ^^^^ } private: std::list<std::shared_ptr<B>> children; }; class B { public: setParent(std::shared_ptr<A> parent) { this->parent = parent; }; private: std::shared_ptr<A> parent; }; 问题是一个类A的对象如何将一个std::shared_ptr自身( this )传递给它的subprocess呢? 有一些Boost共享指针的解决scheme( 获取一个boost::shared_ptr […]
“this”指针在哪里存储在内存中? 它是分配在堆栈中,堆中还是数据段中? #include <iostream> using namespace std; class ClassA { int a, b; public: void add() { a = 10; b = 20; cout << a << b << endl; } }; int main() { ClassA obj; obj.add(); return 0; } 在上面的代码中,我调用成员函数add() ,接收者对象作为“this”指针隐式传递。 这里存储在内存中?
这件事情完美的作品 <select name="selectbox" onchange="alert(this.value)"> 但是我想select文字。 我以这种方式尝试 <select name="selectbox" onchange="alert(this.text)"> 它显示未定义。 我发现如何使用DOM来获取文本。 但我想这样做,我的意思是喜欢使用this.value。