In {cpp}, it is preferred to use reference parameters (`Type const&` or `Type&`), or pass objects by value (`Type`), instead of a pointer (`Type const*` or `Type*`), if the argument is expected to never be null. [source,cpp] ---- // Precondition: graph != null bool isDAG(Graph const* graph); ---- The preferred signature would be: [source,cpp] ---- bool isDAG(Graph const& graph); ----