(麻省理工免费课程)C语言内存管理和C++面向对象编程
课程描述实在得令人发指。翻译如下:
您是否由于自己的Python程序比同僚们的C程序慢而垂头丧气?你是否想不用JAVA实现面向对象?加入我们,学习C和C++吧!我们带您从简单的C程序入手,深入C语言的内存管理,简介C++里的面向对象,深入C++面向对象的高级功能以及STL。我们还教您一些以后面试用得着的技巧和知识。
原文:
Ever hang your head in shame after your Python program wasn’t as fast as your friend’s C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memory manipulation, resurface with an introduction to using C++ classes, dive deeper into advanced C++ class use and the C++ Standard Template Libraries. We’ll wrap up by teaching you some tricks of the trade that you may need for tech interviews.
麻省理工开放课程里有很多计算机科学的宝贝。不仅有一流的教程,还有习题和答案。适合英语不错的程序员平时充电。
课程地址(英文)
两个C++的资源
第一个是一个C++第三方类库的A-Z:(http://www.trumphurst.com/cpplibs/cpplibs.php)其中包含了:
- 开源的C++的第三方类库列表
- 商业的C++的第三方类库列表
- 一些经典的C++的随书源码
- 一些C++相关的工具
不过,这个网站好像最新更新是在2008年。
第二个是Boost C++的一个教程:(http://en.highscore.de/cpp/boost/)
- Chapter 1: Introduction
- Chapter 2: Smart Pointers
- Chapter 3: Function Objects
- Chapter 4: Event Handling
- Chapter 5: String Handling
- Chapter 6: Multithreading
- Chapter 7: Asynchronous Input and Output
- Chapter 8: Interprocess Communication
- Chapter 9: Filesystem
- Chapter 10: Date and Time
- Chapter 11: Serialization
- Chapter 12: Parser
- Chapter 13: Containers
- Chapter 14: Data Structures
- Chapter 15: Error Handling
- Chapter 16: Cast Operators
这个教程可能是写得比较不错的了,不过是英文的。
三个教程
第一个是关于vim的,相当的全面。
http://stevelosh.com/blog/2010/09/coming-home-to-vim/
第二个是Mozilla的Javascript教程
https://developer.mozilla.org/en/JavaScript/Guide
第三个是Kernighan 和Ritchie 的 “The C Programming Language”第二版的问答和练习。