Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
指针与C+混淆+; 我对C++指针和引用操作符感到非常困惑。我的主要困惑是以下(简单)代码: #包括 使用名称空间std; 无效变更点(int&a) { a*=3; } int main() { int n=3; 变更点(n); cout_C++_Function_Pointers_Data Manipulation - Fatal编程技术网

指针与C+混淆+; 我对C++指针和引用操作符感到非常困惑。我的主要困惑是以下(简单)代码: #包括 使用名称空间std; 无效变更点(int&a) { a*=3; } int main() { int n=3; 变更点(n); cout

指针与C+混淆+; 我对C++指针和引用操作符感到非常困惑。我的主要困惑是以下(简单)代码: #包括 使用名称空间std; 无效变更点(int&a) { a*=3; } int main() { int n=3; 变更点(n); cout,c++,function,pointers,data-manipulation,C++,Function,Pointers,Data Manipulation,在该上下文中,符号(&)表示引用,而不是“地址”。例如: 引用在许多方面与指针等效,但其行为类似于值类型。 请参阅和以了解更多信息。在该上下文中,符号(&)表示引用,而不是“地址”。例如: 引用在许多方面与指针等效,但其行为类似于值类型。 你的第二个例子不是有效的C++,你只能对指针进行引用(或者它的类型过载:代码>运算符*/COD>,这不是你的例子)。 第一个示例通过引用传递参数(int&a不是“a的地址”,而是对a的引用),这就是为什么对a的更改实际上是对函数传递的对象的更改(在您的示例中,

在该上下文中,符号(
&
)表示引用,而不是“地址”。例如:

引用在许多方面与指针等效,但其行为类似于值类型。 请参阅和以了解更多信息。

在该上下文中,符号(
&
)表示引用,而不是“地址”。例如:

引用在许多方面与指针等效,但其行为类似于值类型。
你的第二个例子不是有效的C++,你只能对指针进行引用(或者它的类型过载:代码>运算符*/COD>,这不是你的例子)。
第一个示例通过引用传递参数(
int&a
不是“a的地址”,而是对a的引用),这就是为什么对
a
的更改实际上是对函数传递的对象的更改(在您的示例中,
n

< p>第二个例子不是有效的C++,只能对指针进行引用(或者类型过载的对象<代码>运算符*/COD>,这不是你的情况)。
第一个示例通过引用传递参数(
int&a
不是“a的地址”,而是对a的引用),这就是为什么对
a
的更改实际上是对函数传递的对象的更改(在您的示例中,
n

符号AND表示变量通过引用传递给函数——但在函数内部,变量被视为通过值传递。这是为了使编写接受引用的代码更容易理解。

符号AND表示变量通过引用传递给函数——但在函数内部函数将变量视为按值传递。这是为了使编写接受引用的代码更容易理解。

@Asad ullahKhan:不,它不是:页面讨论了
&
运算符,但您没有使用它(您正在声明一个引用,使用
int&
)哦,那就更有意义了!谢谢你!@Asad ullahKhan in code:
int a=b&c;
你不认为
c
的地址对b做了什么,是吗?@Asad ullahKhan:不,不是:页面谈论
&
操作符,但你没有使用它(你正在声明一个引用,使用
int&
)哦,那就更有意义了!谢谢你!@Asad ullahKhan在代码中:
inta=b&c;
你不认为
c
的地址对b有什么作用,是吗?
#include <iostream>

using namespace std;

void changeInt(int &a)
{
    a *= 3;
}

int main()
{
    int n = 3;
    changeInt(n);
    cout << n << endl; 

    return 0;
}
#include <iostream>

using namespace std;

void changeInt(int &a)
{
    *a *= 3;
}

int main()
{
    int n = 3;
    changeInt(n);
    cout << n << endl; 

    return 0;
}
int some_int;

int & a = some_int; // Declare 'a', a reference to 'some_int'

int * p = &some_int; // '&' in this context is "the address of" 'some_int'