工作中遇到的C++语言基础和常见错误
C++历史及标准 这里简单列一下C++发展进程中的几次重大事件以及我常使用的典型特性,各个标准支持的具体细节可参阅ISO标准文档。 C With Classes:支持C++基础语言特性,包括多态、异常处理、模板、命名空间等 C++98:STL、RTTI、模板、异常处理及其它标准库实现 C++03:修复C++98中的缺陷及支持TR1 C++11:auto、range-for、rvalue、lambda、shared_ptr、concurrent C++14:变量模板、多态lambda及增强的库实现 C++17:折叠表达式、类模板实参推导 C++20:<=>、协程、概念 参数传递与返回值 避免产生临时变量导致冗余性能开销 int setupMVAudioStream(std::string path); // BAD int setupMVAudioStream(std::string const& path); // GOOD 返回值为类对象时确定使用RVO特性 // 如果此时函数体实现编译器未使用RVO,则会出现冗余性能开销,BAD std::list<MVS...