相关疑难解决方法(0)

指针与参考

在给函数提供原始变量时,最好的做法是:

unsigned long x = 4;

void func1(unsigned long& val) {
     val = 5;            
}
func1(x);
Run Code Online (Sandbox Code Playgroud)

要么:

void func2(unsigned long* val) {
     *val = 5;
}
func2(&x);
Run Code Online (Sandbox Code Playgroud)

IOW:有没有理由选择一个而不是另一个?

c++ variables pointers reference

249
推荐指数
7
解决办法
11万
查看次数

如何将对象传递给C++中的函数?

我是C++编程的新手,但我有Java经验.我需要有关如何将对象传递给C++中的函数的指导.

我是否需要传递指针,引用或非指针和非引用值?我记得在Java中没有这样的问题,因为我们只传递了保存对象引用的变量.

如果您还可以解释在哪里使用这些选项,那将会很棒.

c++ pointers c++-faq pass-by-reference pass-by-value

245
推荐指数
4
解决办法
13万
查看次数

为什么c ++引用被认为比指针更安全?

当c ++编译器为引用和指针生成非常相似的汇编代码时,为什么使用引用优先(并且认为比指针更安全)?

我确实看到了

编辑-1:

我正在查看g ++为这个小程序生成的汇编程序代码:

int main(int argc, char* argv[])
{
  int a;
  int &ra = a;
  int *pa = &a;
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers reference

9
推荐指数
3
解决办法
3206
查看次数