c – 容器前后行为

c – 容器前后行为,第1张

概述以下是“Effective STL”的引用: When you get an object from a container (via. e.g., front or back), what you set is a copy of what was contained. Copy in, copy out. That’s the STL way. 我很难理解这一部分.据我所知,front返回第一 以下是“Effective STL”的引用:

When you get an object from a container (via. e.g.,front or back),what you set is a copy of what was
contained. copy in,copy out. That’s the STL way.

我很难理解这一部分.据我所知,front返回第一个元素的引用(至少对于std :: vector).
你能解释一下这句话吗?

解决方法 像这样的语句的想法是,当你想从容器中获取一个元素时,你没有保留一个引用或指向容器中元素的指针,你创建它的副本(从引用那些方法返回).函数返回,对于back()和front(),是次要问题,可能会混淆问题 – 即使勘误表删除了提及它们.

容器可以进行重新分配(尤其是向量),您不必通过容器通知,元素在内存中移动,突然您有一个无效的引用或指针.

在移动语义和可移动对象之前,请记住建议的时间.但是一般原则仍然适用,不要保留对可能变为无效的对象的引用或指针.

“价值语义”是一个强大的主题,不仅贯穿标准库,而且贯穿整个C.

总结

以上是内存溢出为你收集整理的c – 容器前后行为全部内容,希望文章能够帮你解决c – 容器前后行为所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存