gpt4 book ai didi

c++ - 通过引用传递的多种方式?

转载 作者:太空宇宙 更新时间:2023-11-04 15:20:38 26 4
gpt4 key购买 nike

<分区>

我总是通过在函数原型(prototype)中取消引用来传递引用,然后在传入参数时引用变量。我最近看到似乎也是一种通过引用传递的方法,但它的工作方式略有不同。它引用原型(prototype)中的参数,但在将值输入函数时不期望任何类型的(取消)引用。使用我的方法时,必须使用“->”运算符访问成员函数,但使用其他方法时可以使用“.”。运算符(operator)。能否请您解释一下这两种方法的区别,以及在实践中是否有更常用的方法。我在下面有一些示例代码可以更好地解释我的意思:

#include <iostream>
#include <string>
using namespace std;

void something(string *byRef, string &dontKnow);

int main(int argc, const char * argv[])
{
string test1 = "test string 1";
string test2 = "second test";

something(&test1, test2);

return 0;
}

void something(string *byRef, string &dontKnow) {
cout << "test1 address = " << byRef << "\nsize = " << byRef->size() << endl;//size function accessed by "->"
cout << "test2 address = " << &dontKnow << "\nsize = " << dontKnow.size() << endl;//now accessed by "." and reference operator required for address
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com