我是围棋语言的新手,在C/C++方面的背景很低,所以我很自然地在思考什么时候使用指针,什么时候不使用指针.虽然这个问题可能被认为是开放式的,但我想知道关于何时返回 struct 和何时返回指针(以及何时等效地接受 struct /指针作为参数)的一些指导原则.
据我猜测,以下说法是正确的:
- struct 按值传递给函数.也就是说,在将 struct 传递到函数中时,会制作该 struct 的副本.
- 如果我想通过引用传递 struct ,那么我会在函数定义中使用指针参数,并在调用函数时使用addressof运算符.
- 我之所以希望通过引用传递 struct ,是因为我传递的 struct 很大,并且通过值传递它会对内存造成很大的负担(不太可能),或者如果我想对传递的副本进行更改(更有可能).
- 作为3.)的推论,我应该按值传递,除非我有上述其中一个理由按引用传递.
我的假设正确吗?还是我错过了指针上的标记?