当前位置: 首页 > 科技观察

每个开发人员都应该知道的一些C++特性

时间:2023-03-20 20:23:58 科技观察

作为一种编程语言,C++已经发展了很多。当然,这些变化并非一蹴而就。曾经有一段时间,C++缺乏活力,人们也不太喜欢这门语言。然而,当C++标准委员会决定加速过渡时,情况就不同了。从2011年开始,C++成为一门不断进化的动态语言,这正是很多人所期待的。不要错误地认为语言变得更容易了,事实并非如此。它仍然是广泛使用的最困难的编程语言之一。不过相比之前的版本,确实更加人性化了。今天,我们深入探讨每个开发人员都应该了解的新特性(这些新特性自八年前的C++11以来就已经存在)。请注意,本文跳过了一些高级功能,可能会在以后的内容中详细探讨。auto的概念当auto在C++11中首次被引入时,一切都变得简单了。auto的概念是让C++编译器在编译时自动推断出数据的类型,而不需要你每次都手动声明类型。如果你的数据类型是map>>user={"M",25};//previousstd::pairuser={"M",25};//C++17类型推断是隐式完成的.这对元组来说更方便。//previousstd::tupleuser("M","Chy",25);//推演无作用!如果你不熟悉C++模板,上面的特性可能对你来说很有趣,但并不容易理解。智能指针指针也可能无法正常工作。因为C++为程序员提供了很大的自由,有时这种自由反而可能成为绊脚石。在大多数情况下,恰恰相反的是指针。幸运的是,C++11引入了智能指针,它比以前的原始指针更方便,可以帮助开发人员通过适当释放指针来避免内存泄漏,还提供了额外的安全机制。起初我想在这篇文章中详细讨论智能指针,但显然有很多重要的细节值得单独写一篇文章,所以不久的将来应该会有一篇相关的文章。原文地址:https://medium.freecodecamp.org/some-awesome-modern-c-features-that-every-developer-should-know-5e3bf6f79a3c【本文为机器之心专栏原文翻译,微信公众号《机器之心(id:almosthuman2014)》】点此阅读作者更多好文