gpt4 book ai didi

c++ - 在 C++ 中仅使用堆栈的后果

转载 作者:IT老高 更新时间:2023-10-28 22:16:02 25 4
gpt4 key购买 nike

假设我认识一个 C++ 新手。他不传递指针(正确地如此),但他拒绝通过引用传递。他总是使用传递值。原因是他觉得“通过引用传递对象是设计失败的标志”。

该程序是一个小型图形程序,大部分传入的问题是数学 vector (3 元组)对象。有一些大型 Controller 对象,但没有比这更复杂的了。

我发现很难找到反对仅使用堆栈的 killer 级论据。

我认为按值传递对于 vector 等小对象来说很好,但即便如此,代码中也会发生很多不必要的复制。按值传递大对象显然是浪费的,而且很可能不是您想要的功能。

在专业方面,我相信堆栈在分配/取消分配内存方面更快,并且分配时间恒定。

我能想到的唯一主要论点是堆栈可能会溢出,但我猜这不太可能发生?是否有任何其他反对仅使用堆栈/按值传递而不是按引用传递的论点?

最佳答案

子类型多态性是一种通过值传递不起作用的情况,因为您会将派生类切片到其基类。也许对某些人来说,使用子类型多态是不好的设计?

关于c++ - 在 C++ 中仅使用堆栈的后果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3695147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com