C ++有局部变量的引用

时间:2015-11-17 07:46:19

标签: c++ reference

以下两个有什么不同吗?

const int64 x = some_struct.x;

const int64& x = some_struct.x;

一个比另一个好吗?我最近看到某个地方正在使用该引用但却无法理解为什么有人会这样做。

2 个答案:

答案 0 :(得分:3)

您可以将引用视为原始变量的别名。

some_struct.x = 1;
const int64 x1 = some_struct.x;
const int64& x2 = some_struct.x;
std::cout << x1 << "," << x2 << std::endl; // should be "1,1"

some_struct.x = 2;
std::cout << x1 << "," << x2 << std::endl; // should be "1,2"

答案 1 :(得分:0)

第一种情况是来自some_struct.x的值的副本,而第二种情况仍然与some_struct.x相关联。因此,如果x更改其值,&x将不会受到影响,但better将引用更改。

没有"command": [ "/bin/bash", "-c", "export PGPASSWORD=password; psql -h myhost -U root -d AppPostgresDB < /db-backup/backup.sql" ] 因为这取决于使用它的代码的意图。