总感觉学计算机不该只关注计算机技术,结合计算机技术做一些跨领域
的事情会更有意义。计算机视觉是一个不错的方向,鉴于图像处理一般用C++的场景比较多,决定先从C++入手。
预备知识
熟悉C、Java、Python任意一门语言,了解编程语言的通用特性:数据类型、流程控制、函数、面向对象、文件IO、网络。
一. C++的语言特性
1 初始化方式,C++支持赋值符号=之外的初始化方式。
int a = 1024;
string a = "aaa"
int a[5] = [0,1,2,3,4]
int a(1024) // 新的赋值方式
string a("aaa")
int a[5]{
0,1,2,3,4}
vector<int> iv{
1, 2, 3};
map<int, string>{
{
1, "a"}, {
2, "b"}}
2 类型推测与空指针
C++11中可以自动推到数据类型,建议使用类型推导,关键字为auto
类型反推特性。类似于auto的反过程。
使用nullptr来代替NULL,使空指针的意义更加明确。
auto* p =