【C++简明教程】C++简介与环境配置
导言
过去一两年 Python 可谓火爆,『人生苦短,我用 Python』成为各个 Pythoner 使用它的借口。毫无疑问 Python 在人工智能领域对比其他语言有着很大的优势,但是对于工业界来说,Python 的产品化之路就没有那么友好了,首先,Python 是胶水语言,不需要编译,也就是说大家都能看到源码,那就没有什么商业机密可言了;再者,Python 的性能并不是很优越。
说了这么多,其实就是如果你想要成为一名真正的算法工程师,那么 C++ 无疑是需要掌握的,借这个专栏,重新学习一下 C++,找回那逝去的青春。
基本介绍
C++ 是一种面向对象的计算机程序设计语言,由美国 AT&T 贝尔实验室的本贾尼・斯特劳斯特卢普博士在 20 世纪 80 年代初期发明并实现(最初这种语言被称作 “C with Classes” 带类的 C)。它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C++ 是 C 语言的继承,进一步扩充和完善了 C 语言,成为一种面向对象的程序设计语言。C++ 这个词在中国大陆的程序员圈子中通常被读做 “C 加加”,而西方的程序员通常读做 “C plus plus” 或者 “CPP”。
一句话概括就是C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:封装、抽象、继承、多态。
如果你想从事图像处理 / 计算机视觉 / 深度学习 相关的工作,那么 C/C++ 就是不可缺少的技能之一(下图是招聘的一个技能要求),Python 虽然可以完成大部分任务,但是在工业领域产品商业化是非常重要的,如果什么产品都使用 Python 进行开发,但是就暴露了源码,并且 C/C++ 在性能上也优于 Python。
开发环境安装与使用
在 Windows 平台下,一般使用 Visual Studio (简称 VS)进行开发,接下来就介绍一下 VS 。
下载与安装
在网站上下载相应的安装包,当前官网已经更新到 VS2019,一般使用 VS2015 及以上版本即可https://visualstudio.microsoft.com/zh-hans/vs/
安装非常简单,根据指引进行安装即可
使用
- 新建工程
- 创建程序
选择 Win32 控制台应用程序,输入工程名,点击确定
- 下一步
- 选择空项目
- 在窗口左侧添加项目
- 选择 C++ 文件,并命名
- 加入测试代码
#include <iostream>
int main()
{
std::cout << "Hello World!n";
return 0;
}
- 运行调试
- 输出结果
参考
- https://www.zhihu.com/topic/19584970/intro
- 高性能JavaScript-JS脚本加载与执行对性能的影响
- CSS3伪类和伪元素的特性和区别
- Kafka剖析系列之Benchmark
- 初探React与D3的结合-或许是visualization的新突破?
- Redis 在Centos Linux 上的启动脚本
- 理解JavaScript的临时包装对象
- JavaScript实现私有属性
- 使用LRU算法缓存图片,android 3.0
- 深入理解JavaScript原型:prototype,__proto__和constructor
- Comparable 与 Comparator 浅析
- 必应首页平铺背景图片的实现方案
- 我们是如何优化HAProxy以让其支持200万个并发SSL连接的?
- 【译】《Understanding ECMAScript6》- 第八章-Module
- 【译】《Understanding ECMAScript6》- 第七章-Promise
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- java基础面试题
- java工具类(邮箱发送)
- 数据库调优 项目调优
- springboot 自动配置和拦截器相关
- Hive函数
- java创建本地缓存模拟redis缓存操作
- Python学习笔记(一)
- Python学习笔记(三)
- 文件下载,excel导出
- Flutter基础widgets教程-CupertinoButton篇
- 几款好用的开源工具类
- Linux部署之Docker方式部署项目
- Flutter基础widgets教程-CupertinoFullscreenDialogTransition篇
- mapper.xml相关语法
- Flutter基础widgets教程-CupertinoNavigationBar篇