如果我有一个包含许多int,float和enum成员变量的类,那么将它们作为引用而不是副本返回它是否被认为是有效和/或良好的做法,并返回不应该进行更改的常量引用?或者我有理由将它们作为副本归还吗?
从这个问题,因此,从标准(ISO C++ - 03):
未指定参考是否需要存储(3.7).
在该线程的一些答案中,据说引用在内部具有相同的指针结构,因此具有相同的大小(32/64位).
我挣扎把握的是:如何将一个参考来不要求存储?
任何举例说明这一点的示例代码都将非常感激.
编辑:来自@ JohannesSchaub-litb评论,有什么类似的,如果我没有使用const &,或者如果我使用const &默认值,它需要分配?在某种程度上,在我看来,根本不应该为引用分配 - 当然,除非涉及明确的分配,例如:
A& new_reference(*(new A())); // Only A() instance would be allocated,
// not the new_reference itself
Run Code Online (Sandbox Code Playgroud)
有这样的情况吗?