在 C++ 中通过指针传递比通过引用传递有什么好处?
最近,我看到了许多选择通过指针传递函数参数而不是通过引用传递的示例。这样做有好处吗?
例子:
func(SPRITE *x);
打电话给
func(&mySprite);
对比
func(SPRITE &x);
func(mySprite);
指针可以接收 NULL 参数,引用参数不能。如果您有可能想要传递“无对象”,请使用指针而不是引用。
此外,通过指针传递允许您在调用站点显式查看对象是通过值传递还是通过引用传递:
// Is mySprite passed by value or by reference? You can't tell // without looking at the definition of func() func(mySprite); // func2 passes "by pointer" - no need to look up function definition func2(&mySprite);