1

私は参照の使用に頭を悩ませようとしています。ここまでで、参照は定数である必要があり、変数のエイリアスのようなものであることを理解しました。ただし、スタックのコードを書いているときに、プッシュ関数への参照によって値を渡しました。「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;
}
4

2 に答える 2