缘来

由于某个不可告人的目标以及想趁着还有精力的年龄,开始了C++学习之路。C++ 诞生很多年了,但依然具有强大的生命力。

我们来看下2020年8月TIOBE 8 月编程语言排行榜。



可以看到C以及C++以旺盛的生命力排在前几名。园子里每逢看到.neter学习java便是一顿腥风血雨。

此时我们不讨论java,就来整理下C++,偶尔也会兼顾下C。进而通过C/C++了解一下更其他的东西,比如数据结构,比如计算机网络。

了解历史

C++语言是有B吉Bjarne Stroustrup 于1979年在美国贝尔实验室开始设计开发的。1985年推出C++1.0版。1989年和1993年,推出了很多新功能的C++2.0版和C++3.0版相继问世。1998年C++的ANSI/ISO标准被投入使用,这是C++标准第一版,称为C++98.通常这个版本的C++被认为是标准C++。所有主流的C++编译器都支持这个版本的C++。

版本 标准名称 发布年份
第一版 C++98 1998年
第二版 C++03 2003年
第三版 C++11 2011年
第四版 C++14 2014年
第五版 C++17 2017年

C语言是C++语言的前身,在进一步扩充和完善C语言的基础得到C++语言。C++语言最初被命名为带类的C语言,由此可见两者之间的渊源,直到1983年才更名为C++。可以将C++语言看做是C语言的一个超集,C语言中的绝大部分语法成分都被保留了下来,实时上,标准的C程序也可以在C++语言的开发环境下运行。

资源

经过一周时间的积累,我搜索了几个学习的途径。

可以学习的网站-B站

C++教程从0到1入门编程

由于B站资源可能由于版本等其他原因被下架,可以通过win10客户端 哔哩哔哩动画开启下载,完成备份。

世界最大同性交友网站- GitHub

interview

C++ 匠心之作 从0到1入门资料

对于成系列学习最好的方式肯定是书籍和视频以及后续的总结了,以上两点能满足我的需要了。

环境简介

IDE/编辑器

这里会用VsCode作为IDE来进行开发学习。常用的IDE还有DevC++,CodeBlocks,VS2017/2019。

编译器

本系列文档编译器会使用GCC。下面来一段简介

(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。

GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada、Go语言前端等,也包括了这些语言的库(如libstdc++,libgcj等。)。

安装

1.进入官网 www.mingw.org



2.点击下载downloads

后续安装步骤参考

win10下MinGW的安装与配置(详细步骤)

windows下安装MinGW的配置

VsCode 配置参考如下文档

WIN下vscode调试C/C++,从零开始生成helloworld项目

VSCode用Code Runner编译运行c/c++

中文乱码问题参考:

mingw控制台中文乱码

通过以上步骤可以搭建一个C++环境。

大纲

C++语言简介

面向对象的基本概念(略)

类和对象进阶(略)

运算符重载(略)

类的继承与派生(略)

多态与虚函数(略)

输入/输出流(略)

文件操作(略)

函数模板与类模板(略)

废话

通过最近几年的经验发现,有时候自己学习也许很容易,但把自己学会的东西如何输出是一个挑战。何况自己真的学会了么?还是半瓶子不满一瓶子晃荡的水平?

现在还处于接受别人鱼的阶段,如何取“授人以渔”?那一定是多总结多思考。

第一步定义受众。

第二步定义一个框架,增补遗漏知识。

第三步输出

第四步接受反馈改进。

以上文档的受众先定义为我自己吧。我希望我可以只通过这个文档就能入门C++。谢阅。这篇很杂,链接一堆,正如我的心情。

C++入门记-大纲的更多相关文章

  1. C++入门记-构造函数和析构函数

    前文回顾 本文档环境基于Vscode + GCC + CodeRunner 关于C++的环境搭建请参考下面链接: C++入门记-大纲 由于本人具有C#开发经验,部分相同的知识就不再赘述了.只列一下需要 ...

  2. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  3. STC 核心板 入门记

    写在开始 STC核心板,它的软件十分全面,想要什么都有,非常适合新手入门. 上一次电赛刚结束,现在反正也啥也不太会,干脆学个这个吧. 顺便写篇博客记录一下. 记录第一次烧写 周四下单,周六到货.中午拿 ...

  4. Java入门记(四):容器关系的梳理(上)——Collection

    目录 一.Collection及子类/接口容器继承关系 二.List 2.1 ArrayList 2.1.1 序列化的探讨 2.1.2 删除元素 2.1.3 调整大小 2.2 Vector和Stack ...

  5. Java入门记(三):初始化顺序

    初始化顺序的规则 1.在一个类的对象实例化时,成员变量首先初始化,然后才调用构造器,无论书写顺序.如果调用构造器前,没有显式初始化,那么会赋默认值. 这样做法的原因可以理解为:构造器执行时可能会用到一 ...

  6. Java入门记(二):向上转型与向下转型

    在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转 ...

  7. Java入门记(一):折腾HelloWorld

    HelloWorld,学习每门语言的第一步.有人戏称,这些年的编程生涯就是学习各种语言的HelloWorld,不知是自谦还是自嘲.目前所在的公司使用Java作为主要开发语言,我进行语言转换也大半年了, ...

  8. ACM入门记

    [2015.12]零基础进队 [2016.4.10]浙大第十六届程序设计大赛 [2016.6.4]团体程序设计天梯赛初赛 [2016.7.16]团体程序设计天梯赛决赛 赛后总结:比赛的时候好慌,一道题 ...

  9. Docker入门记1

    Docker是一个部署容器技术,它出现的目的主要解决开发人员在本机开发的时候安装的各类类库等一系列运行程序的包啊库啊,然后把这些引用的第三方类库和操作系统需要的配置打包起来,形成一个原子环境,然后部署 ...

随机推荐

  1. PHP tanh() 函数

    实例 返回不同数的双曲正切: <?php高佣联盟 www.cgewang.comecho(tanh(M_PI_4) . "<br>");echo(tanh(0.5 ...

  2. PHP similar_text() 函数

    实例 计算两个字符串的相似度并返回匹配字符的数目: <?php高佣联盟 www.cgewang.comecho similar_text("Hello World",&quo ...

  3. [草稿]Skill 中如何读取一个文件并打印出来

    https://www.cnblogs.com/yeungchie/ path = "~/hello" file = infile(path) while(gets(x file) ...

  4. Golang | Go语言多态的实现与interface使用

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第11篇文章,我们一起来聊聊golang当中多态的这个话题. 如果大家系统的学过C++.Java等语言以及面向对象的 ...

  5. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

  6. Redis分布式限流器

    以下文章来源于微信公众号:程序员内点事 ,作者:程序员内点事 请大家关注原作者 1. 什么是限流?为什么要限流? 限流是保证系统高可用的重要手段!!!由于互联网公司的流量巨大,系统上线会做一个流量峰值 ...

  7. 解读生成对抗网络(GAN) 之U-GAN-IT

    Unsupervised Generative Attentionnal Networks with Adapter Layer-In(U-GAN-IT) 从字面我们可以理解为无监督生成对抗网络和适配 ...

  8. PhpStorm配置Apache与php的运行环境详细教程

    本文主要说明如何在phpstorm中配置已经安装好的PHP与apache.首先需要在本地安装php,这里我安装的是phpstudy 进入PHPstorm的界面点击file 下的settings 在La ...

  9. 博客主题推荐——复杂&简单

    首先感谢原作者cjunn提供的主题autm,以下配置都基于此主题设定.很多小伙伴喜欢现在的样式,分享如下.只需简单几步即可. 如果你想使用本博客主题样式,并希望能得到远程推送更新,只需查看 快速部署. ...

  10. Webpack file-loader 和 url-loader

    二者最好只选择一个来进行对文件的打包,防止有冲突出现导致图片加载失败 如果相对不同大小的问题选择不同的loader,可以在url-loader的fallback属性指定不满足条件时的loader { ...