sách gpt4 ai đã đi

c++ - c++中引用的使用

In lại 作者:行者123 更新时间:2023-11-30 04:13:47 26 4
mua khóa gpt4 Nike

我正在努力思考引用的使用。到目前为止,我已经明白引用需要保持不变,它们就像变量的别名。但是,在为堆栈编写代码时,当我通过引用 push 函数传递值时。我必须包含“const”关键字。我需要知道为什么这是必要的。

简而言之,为什么这行得通

class stack
{
công cộng:
void push(const int &x);
};

void stack::push(const int &x)
{
// some code for push
}

int chính()
{
stack y;
y.push(12);
trả về 0;
}

但这不是吗?

class stack
{
công cộng:
void push(int &x);
};

void stack::push(int &x)
{
// some code for push
}

int chính()
{
stack y;
y.push(12);
trả về 0;
}

1 Câu trả lời

如果你使用

int chính()
{
stack y;
int X = 12;
y.push(X);
trả về 0;
}

即使您删除“const”,您也会看到它有效。因为12是常数,而X不是常数!

换句话说:

  • 如果您使用 void push(const int &x); --- 您可以使用 const 或非 const 值!
  • 如果您使用 void push(int &x); --- 您只能使用非常量值!

基本规则是:

  • 我的函数不需要更改参数值:使用 void push(const int &x);
  • 我的函数需要改变参数的值:使用void push(int &x); [注意这里如果你打算改变你的参数的值,当然它不能是一个常量 12,但是一些变量的值为 12,这就是区别!]

关于c++ - c++中引用的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215639/

26 4 0
Bài viết được đề xuất: 带有行号的 c++ win32 textarea?
Bài viết được đề xuất: java - 套接字异常 : Connection reset on server with ObjectInputStream
Bài viết được đề xuất: java - 加载仪器
Bài viết được đề xuất: c++ - 滥用 istream& get
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com