学习SLAM,C++编程是必备技能。不过,大家在学校里学习的书本一般比较老,主要还是C++98那些老一套。
本文所谓的C++新特性是指C++11及其以后的C++14、C++17增加的新关键字和新语法特性。其中C++11是C++98以来最重要的一次变化,而其后的C++14、C++17是在该基础上的完善和补充。
那么,问题来了,如果我不想学习新特性,还是像以前那样编程可以吗?
答案是:可以,不过这就像是别人已经在用铁制刀具切瓜了,你还在石器时代使用石头刀具,你说,效率能一样吗?
看看下面你心里就有答案了。
为何要学习新特性?
1、可以大幅度提高编程效率,切瓜更6
C++新特性增加了很多非常高效的关键字和语法,比如std::swap,C++11之前的swap执行了三次内存拷贝操作,这种不必要的内存操作会影响效率。而C++11之后的swap引入了右值引用和数据移动的概念,使用内存移管代替了不必要的内存拷贝,大大提高了效率。
2、省心省力,减少脱发
举个栗子。C++11之前如果我们要定义并初始化一个新变量,必须得知道其类型并定义,这在很多时候是非常繁琐的,比如迭代器的使用,而C++11之后引入了自动类型推导,一个auto解决一切,不需要关心类型,编译器会帮你自动推导出类型。
<