Code :
- class VisualizableVector
- {
- public:
- class proxy
- {
- public:
- proxy (vector<int> *v) : vect (v)
- {
- std::cout << "Before size is: " << vect->size ();
- }
- vector<int> * operator -> ()
- {
- return vect;
- }
- ~proxy ()
- {
- std::cout << "After size is: " << vect->size ();
- }
- private:
- vector <int> * vect;
- };
- VisualizableVector (vector<int> *v) : vect(v) {}
- proxy operator -> ()
- {
- return proxy (vect);
- }
- private:
- vector <int> * vect;
- };
|
Code :
- int main()
- {
- VisualizableVector vector (new vector<int> );
- vector->push_back (10);
- }
|
//vector->push_back (10);
vector.operartor ->() et aprés ? comment l'operator -> de l'objet proxy est appelé ??
(vector.operator ->()).operator ->()
comment le compilo arrive à faire ça tout seule comme un grand ? merci
Message édité par Glock 17Pro le 09-11-2009 à 23:20:10
---------------
.