c++ - 指针与引用

标签 c++ variables pointers reference

在为函数提供原始变量时,有什么更好的做法:

unsigned long x = 4;

void func1(unsigned long& val) {
     val = 5;            
}
func1(x);

或:

void func2(unsigned long* val) {
     *val = 5;
}
func2(&x);

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

最佳答案

我的经验法则是:

如果您想对指针进行指针运算(例如,递增指针地址以逐步遍历数组)或必须传递 NULL 指针,请使用指针。

否则使用引用。

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

相关文章:

c++ - 试图在列表上 push_back。 C++

c++ - Firefox 扩展和 nsIMutationObserver

c++ - 带指针的 bitWrite 函数

c - 如何释放指针在内存中的空间?

c++ - 如何有效地格式化从 std::vector 到 std::string 的值?

C++未定义对类构造函数的引用

php - MySQL $插入PHP $ variable

PHP 数学方程式

java - 将类(对象)设置为变量

c - 指针未更新