According to Google C++ Style guide,
Parameters to C/C++ functions are either input to the function, output from the function, or both. Input parameters are usually values or const references, while output and input/output parameters will be pointers to non-const
In fact it is a very strong convention in Google code that input arguments are values or const references while output arguments are pointers. Input parameters may be const pointers
reference should always be constant. What happens if I have a vector of objects that will be updated? Should I follow the guide and use pointer to vector? What happens if the object data will also be updated? Should I use pointer to vector of pointer of object, e.g. std::vector< Object*>*? I find this convention rather odd.
Am I misunderstanding it or is this the right way to do it (meaning this is really what the guide is telling people to do)?