C++的学习资源
本文总结了几个好的C++网站,以及C++方面的经典书籍。所列书籍或标准可以到这里找找电子版。
wikipedia关于C++有关条目,注意看后面“参考文献”和“外部链接”:
C++ programming language:介绍C++
C++ Standard Library:C++标准库,介绍了所有51个头文件
C++ STL:STL是C++标准库的一部分(也有人用STL表示C++标准库)
Boost (C++ libraries):被称为准标准库,C++11标准库很多是采纳Boost库的
Outline of C++:列举了和C++相关的概念,如“一次定义准侧”、“元编程”
C++学习参考网站:
cplusplus.com:查库函数特方便,有示例代码
cppreference.com:致力于提供convenient version of the C and C++ standards
learncpp.com:一个C++教程
cs.stmarys.ca/~porter/:有C++标准库快速预览文章
Bjarne Stroustrup:C++之父的主页
The C++ Standards Committee:C++标准委员会
Standard C++ Foundation:标准C++基金会
boost.org:Boost库主页
C++的经典书籍(一个网站做了很好的列举):
Programming -- Principles and Practice Using C++, Bjarne Stroustrup, 2008,有中文译本:C++程序设计原理与实践
The C++ Programming Language (4th Ed), Bjarne Stroustrup, 2013,旧版有中文译本:C++程序设计语言
C++ Primer (5th Ed), Stanley Lippman et al., 2012,有中文译本
Inside The C++ Object Model, Stanley Lippman, 1996,有中文译本:深度探索C++对象模型
Effective C++, Scott Meyers,还有More Effective C++,有中文译本
Exceptional C++, Herb Sutter,More Exceptional C++,有中文译本
The C++ Standard Library -- A Tutorial and Reference (2nd Ed), Nicolai M. Josuttis, 2012,旧版有中文译本:C++标准程序库
C++ Templates -- The Complete Guide, Vandevoorde David, 2002,有中文译本:C++ Templates中文版
C++ Template Metaprogramming -- Concepts, Tools, and Techniques from Boost and Beyond, Abrahams David et al., 2004,有中文译本:C++模板元编程
C++标准(C++标准的进程见标准C++基金会):
ISO/IEC 14882:1998(C++98)
ISO/IEC 14882:2003(C++98修订,建议参考)
ISO/IEC 14882:2011(C++11)
C语言相关:
ISO/IEC 9899:1990(经典C语言)
ISO/IEC 9899:1999(俗称C99)
The C Programming Language (2nd Ed), Dennis M. Ritchie et al., 1988,有中文译本:C程序设计语言
面向对象相关:
UML Distilled -- A Brief Guide to the Standard Object Modeling Language (3rd Ed), Martin Fowler, 2003,有中文译本:UML精粹:标准对象建模语言简明教程
Design Patterns -- Elements of Reusable Object-Oriented Software, Erich Gamma et al., 1994,有中文译本:设计模式--可复用面向对象软件的基础
Object-Oriented Analysis & Design -- Understanding System Development with UML 2.0, Mike O'Docherty, 2005,有中文译本:面向对象分析与设计
计算理论、算法:
Introduction to the Theory of Computation (3rd Ed), Michaael Sipser, 2012,旧版有中文译本:计算理论导引
Introduction to Algorithms (3rd Ed), Thomas H.Cormen et al., 2009,有中文译本:算法导论
C++编程练习:
C++的学习应该以编程训练为主,这应该都认同吧。如果觉得没有C++编程练习的途径,我给你推荐一个:OJ,全称Online Judge,中文叫做在线测评系统。有很多问题,你来编程解决,它在线线测试你程序运行结果正确性,一般还附加程序运行时间和内存消耗限制(一般是1秒和1MB)。对同问题的不同解决代码,会用运行时间和消耗内存排名。大名鼎鼎的ACM程序设计竞赛(ACM International Collegiate Programming Contest,ACM-ICPC)就采用类似形式。下面是几个有名的OJ,题目的难度从天才级到A+B级都有:
Baylor University OJ (该大学是ACM-ICPC总部,上面有ACM-ICPC题)
UVa Online Judge(配合《算法竞赛入门经典--训练指南》(刘汝佳等,清华大学出版社,2012))
点击“Problems”浏览题目,“Submit”提交代码,注册账号开始挑战吧~
C++的学习资源的更多相关文章
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
- Redis初识、设计思想与一些学习资源推荐
一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...
- 一份关于Swift语言学习资源的整理文件
一份关于Swift语言学习资源的整理文件 周银辉 在这里下载 https://github.com/ipader/SwiftGuide
- angularJS学习资源最全汇总
基础 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/: 官方zip下载包 https://github ...
- Scala学习资源
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...
- .net 网站开发学习资源
慕课网 前端基础学习 http://www.imooc.com/course/list?c=fe 了解需求 例子之一 http://wenku.it168.com/d_000517899.shtml ...
- OpenGL的学习资源
OpenGL是3D图形接口工业标准,使用上非常简单,所有API不过上百个函数,但理解OpenGL就没那么简单,本文总结OpenGL的学习资源,包括官方资料.网上教程.示例程序等. Wikipedia: ...
- Bullet的学习资源(用Doxygen生成API文档)
Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...
- OGRE的学习资源
本文介绍从哪儿开始学习OGRE(Object-Oriented Graphics Rendering Engine的简称,又叫做OGRE 3D),如何在网上找寻OGRE的学习资源. 首先是wikipe ...
- VTK的学习资源
本文介绍从哪儿开始学习VTK(Visualization Toolkit的简称),如何在网上找寻VTK的学习资源. 首先,可以到维基百科或者百度百科上查看VTK条目,了解VTK是什么. http:// ...
随机推荐
- FT部署图
- iOS常用方法
1.磁盘总空间大小 + (CGFloat)diskOfAllSizeMBytes { CGFloat size = 0.0; NSError *error; NSDiction ...
- web前端,移动开发规范概述
以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用 字体设置 使用无衬线字体 body { font-family: "Helveti ...
- POJ 3176 Cow Bowling
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13016 Accepted: 8598 Desc ...
- 项目中常用的linux命令
1. du -sm * | sort -n 把当前目录下的文件(或目录)按大小排序,看下哪个地方占用最多: 2. pwd 获取当前目录路径 3. tail -f ...
- linux 安装python-setuptools
> wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py > python ez_setup.py --ins ...
- 在PHP中如何实现在做了么个操作后返回到指定页面
我们经常会碰到类似用户在没有登录的情况下进行提问.评论,需要用户登录后返回刚才浏览的网页,这种功能用cookie保存当前url地址来实现.我用的是jquery,读者需要懂点jquery中的ajax请求 ...
- Html标签第二课css
css(Cascading Style Sheet)叠层样式表.用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 一:样式三种控制方法 1.行内样式: <div style=& ...
- 杭电ACM1000
#include <stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { p ...
- Android中的onActivityResult和setResult方法的使用
如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...