嘘~ 正在从服务器偷取页面 . . .

cpp朝花夕拾


cppreference

基础知识

结构struct

struct debts //定义结构
{
  char name[50];
  double amount;

};

C89中,debts称为标签名(tag),struct tag合起来才是类型名.由此使用时要struct + tag
可以象楼上说的,用typedef创建类型名。
C99中,可以直接用tag做类型名
C++中,tag也可以直接用tag做类型名

动态分配malloc

S=(Stack)malloc(sizeof(struct SNode))

赋值给指针要把malloc分配的内存空间转成对应的指针类型。

用完之后要free(L1),完事之后L1不会变为NULL,会变为野指针,所以要注意L1=NULL

auto

auto的原理就是根据后面的值,来自己推测前面的类型是什么。

// auto作用就是迭代容器中所有的元素,每一个元素的临时名字就是x,等同于下边代码。
for (vector<int>::iterator iter = nums.begin(); iter != nums.end(); iter++)
// b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。
for(auto a:b)
// 加了引用符号,可以对容器中的内容进行赋值,即可通过对a赋值来做到容器b的内容填充。
for(auto &a:b)

单双引号的区别

在C++中单引号表示字符,双引号表示字符串。

反向迭代器

vector<int>(res.rbegin(),res.rend()),生成一个反向的vector

vector<vector<bool>> st(rows, vector<bool>(cols)),st包含rows个值为vector<bool>的元素,vector<bool>(cols)表示cols个执行了值初始化的对象


文章作者: dch
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 dch !
评论
  目录