【发布时间】:2010-11-12 02:06:33
【问题描述】:
所以我一直在 SO 和其他地方阅读有关std::move、std::forward、右值、左值广告等的信息。但我发现我无法掌握它。尽管我有时会进行修复,但我想我了解在这之前 C++ 中有关指针、引用等的基本知识。是我还是这些东西太重了?
【问题讨论】:
-
幸运的是,在它们标准化之前,您还有大约 10 年的时间来尝试理解它们。
-
你不能准确掌握什么?诚然,右值一开始可能有点令人困惑,但其他的非常简单。当然,如果需要,您可以直接使用指针和引用,但它们可能会被滥用和误用,从而导致有时难以诊断的问题。标准库旨在通过允许更多的编译时验证来帮助您编写更安全、正确的代码,否则您可能没有。
-
@Travis:不是这样。 C++0x 应该在明年标准化,一些编译器实现已经支持它们(即 Visual C++ 和 g++,尽管其他可能也已经支持它们)。
-
@James:你的乐观让人心旷神怡。不过,更严重的是,如果您处于只需要使用现代编译器的绝佳位置,请立即学习这些东西!
标签: c++ c++11 move-semantics