私は参照の使用に頭を悩ませようとしています。ここまでで、参照は定数である必要があり、変数のエイリアスのようなものであることを理解しました。ただし、スタックのコードを書いているときに、プッシュ関数への参照によって値を渡しました。「const」キーワードを含める必要がありました。なぜそれが必要なのかを知る必要があります。
要するに、なぜこれが機能するのですか
class stack
{
public:
void push(const int &x);
};
void stack::push(const int &x)
{
// some code for push
}
int main()
{
stack y;
y.push(12);
return 0;
}
しかし、これはそうではありませんか?
class stack
{
public:
void push(int &x);
};
void stack::push(int &x)
{
// some code for push
}
int main()
{
stack y;
y.push(12);
return 0;
}