Search code examples
c++constantspass-by-referencepass-by-pointer

c++ passing by const pointer or reference to const pointer


I am learning c++, recently i read a book which gives a suggestion that you should use reference to const when possible (if base object will not be changed).

I have a question that should you pass reference to const pointer instead of const pointer, when possible, as reference prevents copied. If not when should i use reference to const pointer.

e.g:

Node(..., Node *const next = nullptr);

OR

Node(..., Node* const& next = nullptr);

Solution

  • Passing by const reference is good practice when passing by value (that causes copying of parameters) is a heavy operation.

    For example when you are passing a class with some properties to a function it's better to pass it by const reference, In other hand if your are passing types like int or just a pointer it's better not to use references because then you loos performance due to de-reference process.