说明
- 在公司使用C语言做嵌入式应用多年,C++只是大学老师教过一年,工作后从未再使用过C++,对于C++的印象依然停留在早期C++,近年开始使用C++编程,从C转向C++需要做些改变。
改变
- 需要理解和遵从C++思维方式,而不是C思维方式。
- C语言开发效率不高的原因有一点:内存管理较为原始,需要程序员比较细心和花费大量精力;C++等高级语言为了加快开发效率,大多数内存都是自动管理,自动动态申请释放的,虽然性能可能会差点,但是稳定性会好很多,因此写C++程序要采用C++封装后的接口,不要在代码中大量使用C接口,不然出现内存问题,依然需要花费大量精力,例如:字符串需要使用string,不要再使用char数组,容易出问题。
- 尽量使用流行库,而不是自己实现
- C开发时,很多基础功能没有流行库,也许有但是C语言本身关注度不高,大部分基础功能需要自己实现,因此代码质量很难保证,C++比C更适合应用层开发,市场也更活跃,能够复用的库也更多更新,大部分功能不需要再像C一样去研究和实现。
使用C++11
-std=c++1x
* 例如:使用c++11
g++ -std=c++11 xx.cpp
- 编译工具需要支持该版本,不支持的话会提示错误,可以升级gnu工具解决,例如c++14 需要g++5以上。
g++: error: unrecognized command line option ‘-std=c++17’