Експериментирах с ключовата дума 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