c++基础知识(更新ing)

一、vector 赋值

写法1:

vector<int> v1;
v1.assign(v2.begin(), v2.end());

写法2(事实上是初始化):

vector<int> integers3(integers1);

二、c++中&的作用

用法1:取地址

int *a = &b;

用法2:起别名(引用,reference)

int &a = b;

说明:c语言中有传值和传址两种方式,引用是c++中引入的一种取代使用指针传址的一种更加友好的方式。

三、c++中的模板类/函数的声明与定义必须都放在头文件中

四、c++中的redefinition问题(编译阶段or链接阶段)

编译阶段redefinition和链接阶段redefinition
总结起来就是:

  1. 头文件要添加
#ifndef _xx_
#define _xx_
.
.
.
#endif
  1. 函数和变量可以声明在.h中但要定义在cpp中。

五、c++中linux平台gdb

gdb调试c++工程
补充:break filename:linenum 在源文件filename的linenum行设置断点

六、含有指针变量的结构体指针的内存分配与释放

对于含有指针变量的结构体指针,需要一层一层的内存分配,相对应的也需要一层一层的释放。

你可能感兴趣的:(C++,c++,redefinition,gdb)