Я экспериментировал с ключевым словом const
и пытался извлечь из него полезный подход.
#include <iostream>
class A
{
public:
static const void modify(float& dummy)
{
dummy = 1.5f;
}
};
int main(int argc, char* argv[])
{
auto a = 49.5f;
A::modify(a);
std::cout << a << std::endl;
return(0);
}
этот код компилируется и работает, вывод 1.5
, я ожидал ошибки от компилятора, потому что у меня есть метод const, который пытается изменить значение аргумента.
Что мне здесь не хватает? Как я могу разработать методы, которые не будут изменять значения аргументов?
const
кvoid
. - person chris   schedule 09.11.2012const
относится только к тому, что рядом с ним. - person chris   schedule 09.11.2012g++-4.7 -std=c++11
- person user1802174   schedule 09.11.2012-Wall
или-Wextra
. - person chris   schedule 09.11.2012void
, что совершенно бесполезно, так как вы все равно ничего не можете сделать сvoid
. Не существует общего синтаксиса для того, чтобы сделать каждый параметр постоянным. Вы должны вручную применить его к каждому из них. - person chris   schedule 09.11.2012