c – 矢量对字符串的好处?
发布时间:2020-12-16 03:37:00 所属栏目:百科 来源:网络整理
导读:这个问题与 this question有关,但不完全相同. 使用std :: vector char有什么好处吗?而不是std :: string来保存任意的二进制数据,除了可读性相关的问题? 即与字符串相比,是否有任何更容易/更有效/更好地使用向量执行的任务? 解决方法 除了可读性(不应该被
这个问题与
this question有关,但不完全相同.
使用std :: vector< char>有什么好处吗?而不是std :: string来保存任意的二进制数据,除了可读性相关的问题? 即与字符串相比,是否有任何更容易/更有效/更好地使用向量执行的任务? 解决方法
除了可读性(不应该被低估),我可以想到使用std :: string over std :: vector的几个次要的性能/内存问题:
>一些现代的std :: string实现使用small string optimization.如果你正在存储大于字符串内部缓冲区的数据,它将变得一个悲观,降低了复制,移动和交换1的效率,并增加了sizeof(),从而没有任何好处. 我应该强调,这两个问题都很小;他们的性能成本在背景噪声中将更有可能丢失.但你确实问过. 1如果使用小字符串优化,那么这些操作需要在size()上进行分支,而它们不是在一个很好的std :: vector实现中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |