JamesBondCaesar Asked:2020-01-18 18:30:39 +0000 UTC2020-01-18 18:30:39 +0000 UTC 2020-01-18 18:30:39 +0000 UTC 更正确的是:从函数返回结构或将指针传递给它? 772 实际上,问题就在标题中,不久前我切换到C ++,现在我只是从函数中返回结构作为普通参数,但在网络上建议将指向结构的指针传递给函数并将其填充在里面。怎么会更正确? c++ 1 个回答 Voted Best Answer Harry 2020-01-18T18:39:29Z2020-01-18T18:39:29Z 这更多的是品味问题:) 以前,建议大型结构通过传递的指针(或引用)返回 - 以避免不必要的复制。目前,编写良好的移动分配和复制(或只是一个普通的现代优化器)已经确保没有复制 - 立即填充将分配结果的结构。 因此,还有其他因素需要考虑。其中之一,也是最重要的,是代码的清晰性。这是我个人的看法,但是返回一个结构,而不是传递它,通常更清晰易读。 如果效率涉及到第一、第二和其他地方,那么就应该进行检查、实验和改变,只有根据他们的结果才能做出平衡和明智的决定。
这更多的是品味问题:)
以前,建议大型结构通过传递的指针(或引用)返回 - 以避免不必要的复制。目前,编写良好的移动分配和复制(或只是一个普通的现代优化器)已经确保没有复制 - 立即填充将分配结果的结构。
因此,还有其他因素需要考虑。其中之一,也是最重要的,是代码的清晰性。这是我个人的看法,但是返回一个结构,而不是传递它,通常更清晰易读。
如果效率涉及到第一、第二和其他地方,那么就应该进行检查、实验和改变,只有根据他们的结果才能做出平衡和明智的决定。