Constness
| Appendix A. The RefPtr smartpointer |

## Constness

The use of the `const` keyword in C++ is not always clear. You might not realize that const Something* declares a pointer to a const Something. The pointer can be changed, but not the Something that it points to.

Therefore, the `RefPtr` equivalent of Something* for a method parameter is const Glib::RefPtr<Something>&, and the equivalent of const Something* is const Glib::RefPtr<const Something>&.

The `const ... &` around both is just for efficiency, like using `const std::string&` instead of `std::string` for a method parameter to avoid unnecessary copying.

Checking for nullptr |  | Appendix B. Signals