本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

目前 c++的学习主要是针对三个方向

  • 基本语法
  • 数据结构
  • QT(能用就行的地步)

参考书:

  • C++ Primer Plus(第 6 版)
  • 数据结构、算法与应用 C++语言描述原书第 2 版
  • Qt 5.9 C++开发指南 (王维波 栗宝鹃 侯春望)
  • Qt5 开发及实例(第 3 版) (陆文周)

基本语法

数据结构

参照书前的学习计划安排自己的学习计划



p31

QT

C++ PrimerPlus

第一章 预备知识

一些原理,之前就已经学过,这里就不再详细记录。

2

第二章 开始学习

基本也没太多知识点,简单记一个吧。

1
2
using  std::cout; // namespace
using namespace std; // namespace

第三章 处理数据

c++ 11 初始化方式

这里第一次见,跑一下看看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using namespace std; // namespace
int aaa = {7};
int bbb{7};
int ccc = {};
int ddd{};


cout << aaa << bbb << ccc << ddd << endl;
cout << sizeof(aaa) << sizeof(bbb) << sizeof(ccc) << sizeof(ddd) << endl;

//result
7700
4444

看来是印刷错误

强制类型转换

1
2
(int)aaa;    // c
int(aaa); // c++

auto 声明

尽量少用

复合类型

数组

初始化规则
1
2
3
4
int cards[5] = {1, 2, 3, 4, 5};     //ok
int cards[5]; //ok
cards[5] = {1, 2, 3, 4, 5}; // error
cards = hands // error
C++11 初始化规则
1
2
double cards[5]  {1.1, 2.2, 3.3, 4.4, 5.5};     //omit the space between = and {
int counts[5] {}; // there are no elements in the {}, so the elements are default initialized = 0

字符串

c- style

书上写了一堆,总之就是不好用,所以有了新的

C++ style

"string"

字符串初始化与数组初始化类似,也可以省略 =

结构体

初始化与数组初始化类似,也可以省略 = ,不允许缩窄转换

共用体

1
2
3
4
union {
int a;
double b;
};

枚举

1
2
3
4
5
6
7
8
9
10
11
12
13
14

enum Color {
RED,
GREEN,
BLUE
};


enum Color {
RED = 1,
GREEN = 2,
BLUE = 3
};

指针和自由存储空间

1
2
3
4
5
6
int *p = new int;
delete p;

int *p = new int[10];
delete[] p; // [] 是告诉编译器,释放整个数组,而不是单个元素

vector

1
2
3
# include <vector>
vector<int> v;
v.push_back(1);

array

1
2
# include <array>
array<int, 10> a;

小结

循环和关系表达式

这个有点意思

小结

分支语句和逻辑运算符

cctype

1
2
3
4
5
6
7
8
#include <cctype>
isalpha('a'); // true
isalpha('1'); // false

isupper('A'); // true
isupper('1'); // false


简单文件输入输出

1
2
3
char word[20];
cin.getline(word, 20);
cout << word << endl;

在这种情况下,c将不断读取,直到遇到换行符(示例输入行少于20个字符)。所有字符都将被存储到数组wod中,并在末尾加上一个空字符。换行符被丢弃,输入队列中的下一个字符是下一行中的第一个字符。这里不需要进行任何转换。

write
1
2
3
4
5
6
7
ofstream out;
out.open("test.txt");
//ofstream out("test.txt");

out << "Hello, world!" << endl;

out.close();
read
1
2
3
4
5
6
7
ifstream in;
char word[20];
in.open("test.txt");
in >> word;
cout << word << endl;

in.close();

不得不说python和c++好像啊.

函数

const

函数指针

1
2
3
4
5
6
7
int add(int a, int b) {
return a + b;
}
int (*p)(int a, int b);
p = add;
p(1, 2);

小结

本文作者:wxy

本文链接: https://c.undf.top/posts/21r8od0/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论,秒回。

评论

如评论失效,请点击最下方的邮件图标联系作者。