微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 应该弃用std :: list吗?

据Bjarne Stroustrup的 slides从他的 Going Native 2012 keynote,在std ::列表中的插入和删除在现代硬件上是非常低效的:

Vector beats list massively for insertion and deletion

如果这是真的,std :: list有什么用例?那么不应该被否认?

解决方法

矢量和列表解决不同的问题.列表提供了保证迭代器在插入和删除其他元素时永远不会失效.矢量不做这个保证.

它不是所有的表现.所以答案是否定的.列表不应该被弃用.

编辑除此之外,C不是专为“现代硬件”而设计的.它旨在在比这更广泛的硬件范围内有用.我是金融行业的程序员,我使用C,但其他领域,如嵌入式设备,可编程控制器,心肺机器和无数其他领域同样重要. C语言不应该仅仅由某些领域的需要和某些硬件类型的表现来设计.只是因为我可能不使用列表并不意味着应该从语言中弃用.

原文地址:https://www.jb51.cc/c/113199.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐