vector::push_back 和 string::push_back 之间的区别?

Posted

技术标签:

【中文标题】vector::push_back 和 string::push_back 之间的区别?【英文标题】:Difference between vector::push_back and string::push_back? 【发布时间】:2016-03-05 05:20:08 【问题描述】:

vector::push_back 和 string::push_back 有什么区别?

如果我没记错的话,我知道 string::push_back 会删除字符串的最后一个字符。虽然,我不确定什么是vector::push_back。

既然他们是同名,我猜他们做同样的事情但不同? vector::push_back 是删除向量的最后一个元素,还是在向量中添加一个新元素?

【问题讨论】:

两个函数做同样的事情:它在容器的末尾添加一些东西。参见例如this std::vector::push_back reference,或this std::string::push_back reference。 【参考方案1】:

说真的,你为什么不谷歌这个?

http://www.cplusplus.com/reference/string/string/push_back/ http://www.cplusplus.com/reference/vector/vector/push_back/

String 的一个在字符串的末尾添加一个字符。 Vector 的方法是在向量​​的末尾添加一个元素。

【讨论】:

以上是关于vector::push_back 和 string::push_back 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Vector::push_back() 给出读取访问冲突

std::vector.push_back() 的奇怪(记忆?)问题

正确使用用户定义类型的 std::vector.push_back()

std::vector::emplace_back 比 std::vector::push_back 慢的示例?

为啥 vector.push_back(System::Byte) 在 VC++ 14.29 (C++/CLI) 中不再编译

std::vector push_back 是瓶颈