Wśród wielu zalet const kwalifikacji jest, aby API bardziej zrozumiałe, przykład:C++ RValue odniesienia i const kwalifikatora
template<typename T> int function1(T const& in);
// clearly, the input won’t change through function1
Wraz z wprowadzeniem odniesienia rvalue, można skorzystać z doskonałej spedycji ale często const kwalifikacyjnych są usuwane, na przykład:
template<typename T> int function2(T&& in);
// can explicitly forward the input if it's an rvalue
Czy istnieje dobry sposób na opisanie, że funkcja 2 nie zmieni swojego wkładu?
Jeśli przesyłasz parametry tylko komuś innemu, co Cię obchodzi, co jest lub nie jest "const"? Pozwoliłeś im sobie z tym poradzić. –