// Should I use a->b(), or a.b()? // // If a is a pointer, use: a->b() // If a is an object, use: a.b() // // If a is a reference, then it’s an alias for something--use the // rules for whatever it refers to. // // You can overload -> for objects--we’ll learn about that later. #include #include using namespace std; int main() { vector v(42, true); // v is a vector of bool vector *p = &v; // p is a pointer to vector of bool vector &r = v; // r is a reference to a vector of bool cout << v.size() << ' ' // << *p.size() << ' ' // This won’t compile << (*p).size() << ' ' << p->size() << ' ' << r.size() << '\n'; return 0; }