- To allow you to alter a data object in the calling function
- To speed up a program by passing a reference instead of an entire data object
No modify the data,
-
If the data object is small, such as a built-in data type or a small structure, pass it by value.
-
If the data object is an array, use a pointer because that's your only choice. Make the pointer a pointer to const.
-
If the data object is a good-sized structure, use a const pointer or a const reference to increase program efficiency. You save the time and space needed to copy a structure or a class design. Make the pointer or reference const.
-
If the data object is a class object, use a const reference. The semantics of class design often require using a reference, which is the main reason why C++ added this feature. Thus, the standard way to pass class object arguments is by reference.
Does modify the data,
-
If the data object is a built-in data type, use a pointer.
-
If the data object is an array, use your only choice, a pointer.
-
If the data object is a structure, use a reference or a pointer.
-
If the data object is a class object, use a reference.
本文探讨了在不同情况下如何选择使用引用或指针传递数据对象,以提高程序效率和减少内存开销。详细讨论了针对不同数据类型(如内置类型、数组、结构体和类对象)的最佳实践。

441

被折叠的 条评论
为什么被折叠?



