零基础学C++:从入门到精通的编程之旅

发表时间: 2019-04-23 10:03

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。



1F语言特点

支持数据封装和数据隐藏。

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

2F工作原理

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

3F 技术造就市场

· 双平台开发(Windows/Linux)

- Linux:GDB(逆向工具)、VIM(文本编辑器)、IPC(进程通信通信)、Pthread(线程并发同步机制)……

- Windows:QT(跨平台应用界面框架)、SHM(共享内存映射机制)、MFC(微软基础丰富类库)、消息队列(高性能消息容器)……

· 分布式高并发游戏服务器

- 分布式并并发:Docker(虚拟化容器技术)、RPC(远程调用过程)、GIT(分布式版本控制系统)、Redis(NoSQL缓存数据库)……

- 游戏:Lua(游戏开发主流脚本语言)、Cocos2D-X(知名游戏开发框架)、物理引擎(游戏模拟物理常态算法)、设计模式(面向对象抽象思维)……

· 网络攻防

- 攻击:NetCat(网络攻击瑞士军刀)、Kali Linux(Hacker操作系统)、SQLMAP(SQL注入漏洞攻防技能)、ircrack-ng(可破解WEP/WPA/WPA2加密)、Web渗透(Web页面代码的攻击形式)……

- 防御:ACL(访问控制权限列表)、iptables(Linux内核防火墙技术)、TCP Wrapper(系统安全控制护卫者)、安全审计(监视内核中获取"操作"信息神技)、TCPDump(Linux内核网络协议捕捉器)……

4F 学习入门

为大家带来了C/C++的学习资源……

学习路线图

学习资源

C++| 匠心之作 从0到1入门学编程

视频源码可关注“黑马程序员”后台回复“匠心”!