C++知识点
1. C++中的一些符号用法
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
1.1 使用指针,还是参数?
传递一个参数给函数的时候,这个参数会不会在函数内被改动决定了使用什么参数类型。
a. 如果需要被改动,则需要传递指向这个参数的指针;
b. 如果不用改动,可以直接传递这个参数。
int* p;
getlength(p); //获取长度,不需要改动
insert(*p,2);//插值,需要改动
1.2 -> 与 . 的区别
a. A.B则A为对象或者结构体;
b. A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
1.3 typedef struct和struct的区别
1.typedef struct 结构体变量名{成员表列}结构体变量名;
2.struct 结构体变量名{成员表列}结构体变量名;
3.typedef struct {成员表列}a1,a2,a3;相当于typedef a1 a2;typedef a1 a3;
1和2的区别在于申请变量时,1需要写 struct node n;而2则需要直接写node n;
3则表示结构体变量名都是结构体类型,声明变量时用任何一个都可以。
1.4 结构体定义的三种格式
(1)先声明结构体类型再定义变量名
struct Student
{
成员列表;
}
Student student1,student2;
(2)声明结构体的同时定义变量
struct Student
{
成员列表;
}student1,student2;
(3)直接定义结构体类型变量
struct
{
成员列表;
}student1,student2;
1.5 vector的赋值
C++11可以直接对vector赋值
vector<int> vec={1,2,3};
1.6 C++ 没有幂的运算符!
C++ 不能使用 2^10这种表达;要用 cmath::pow(2,10)