C:对于一个小结构,返回结构还是返回对结构的引用?[关闭]

C: for a smallish struct, returning struct or returning reference to struct? [closed]

提问人:Sasha 提问时间:9/14/2023 最后编辑:YunnoschSasha 更新时间:9/14/2023 访问量:37

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

2个月前关闭。

在 C 中;

如果结构很小,因为它主要由指向潜在大型数组的指针组成;函数返回指向结构的指针还是返回结构本身更“更好”?

从我所看到的;

第一个的缺点:要求函数仅针对结构体本身进行非常少量的 malloc,如果有大量这样的结构体,看起来很浪费......

第二个的缺点:也许结构体在以后的修订中会变得更大,如果有大量这样的结构体会有很多复制......但也许由于这是在线程的堆栈上,所以它并不是很糟糕(我可以想象有时甚至不会发生复制)?

另外,似乎从统一风格界面的角度来看,最好选择一个并坚持下去,即使成本是程序中某些结构的一些非优化?

c 指针 struct malloc

评论

0赞 Sasha 9/14/2023
补充一点,如果我决定使用“指针”,那么结构成员本身就是我的其他结构之一,成为指向它们的指针是有意义的,以实现统一的样式......反之亦然,如果我决定“没有指针”。因此,在后一种方法中,结构似乎真的会随着时间的推移而增长......
0赞 Fe2O3 9/14/2023
或。。。不要让风格决定实质

答: 暂无答案