高质量c++/c编程指南·github差不多就是这个样子(楼主从开始学就是各种看这个,现在已经出到18卷了)
learnc++,thehardway
楼主可以看看这个:c++学习笔记-c++17特别篇
编译器这种东西啊,你要想知道编译期间用的是哪门语言是挺难的.但是推荐看一下编译器相关的东西。code::blocks和eclipse都有编译期相关的页面和loader.有个好处就是有pr会更快更新,还是用pr来解释一下比较好.
推荐的c++编译器。
一般说c++入门,都是指c++0x。把最后一个问题能回答了,入门就成功了一半。
这个其实不难的,把这五本书看一遍,看完你就差不多入门了。推荐看《精通c++》
推荐《c++primer》。另外到网上下个中文翻译版的先看看,等看懂了自己也能回答一些问题了再去看英文版。
没必要看这些书,直接学vc++(可以先用,有点累赘)。很多不是要用c++才会用得到的,但你看了c++primer之后才更容易发现这些坑。一开始就看这些书,很可能绕晕你,看了后面我也不知道你什么都没学。还不如直接看书,别按导航。把经典的书都看了,入门最快。
prml与code::blocks其实只是相互补充,有些实在不明白的地方可以搜索网上相关的帖子。题主说了“语言对于设计模式数据结构的理解”,其实需要看专门的书籍,不是光看一本prml就能解决问题的。说编译器只是用到基础语言知识,对于算法,设计模式甚至写代码都需要用到基础语言基础知识(实际上编译器相关的实践课程也没有讲太多语言基础知识)。
但是,更重要的知识是:cpu底层对cpu设计,cpu底层以及优化过程中用到的基础知识。例如我们平时经常会学习到内存布局,虚函数及宏指针,fp方法与函数重载(可是你写程序没有必要写这些东西吧)等等。基础知识好多,想要写出好程序的话,还是多学习吧,编译器给你提供的那些设计模式数据结构基础知识,只是工具。实在不想多学就看看跟自己用的软件功能有关的东西吧,毕竟大部分语言都有比较完善的profile。