Я один из тех людей, которые думают «если он не должен меняться, тогда это должно быть const
». Возможно, я делаю это const
, но, поскольку мои возвращаемые функции обычно не могут меняться, я объявляю, что все мои функции возвращают const
. (Если они не вернут void
, конечно, имеет ли смысл вернуться к const void
?)g ++ компилятор, игнорирующий const return type
Возможно, вы, наверное, думаете, что я немного ореховый, и я изнашиваю свою клавиатуру, набирая вещи, мне не нужно , или что возвращение const имеет смысл, потому что вы уже используете его самостоятельно. Или, может быть, вы не думаете ни о тех вещах, в которых я неправильно догадался.
Я скомпилировал свою программу с помощью g ++ 4.8 и включил переключатель компилятора -Wextra
. При этом g ++ предупреждает меня, что он игнорирует каждый один из моих операторов возврата. Ни один из них не возвращается const
. Это не имеет никакого значения после компиляции, но я хотел знать, есть ли способ заставить g ++ компилировать и обратить внимание на мои возвращаемые типы const
.
Что еще более важно, почему g ++ игнорирует const
- или это просто потому, что я псих, а g ++ думает, что возвращение const
не нужно?
В соответствии с предложением: Пример ...
inline const bool collisionTest(...) { ... }
warning: type qualifiers ignored on function return type
Вы можете добавить простой пример кода на свой вопрос? И текст предупреждения? –
@gx_ Хорошо, но почему? – user3728501
По моему опыту, const полезен в следующих случаях: константные указатели или ссылки, константные функции-члены, константы времени компиляции (например, const int size = 10) и глобальные переменные const (static const std :: string name = "harry «). Все остальное не имеет большого значения. –