最新要闻

广告

手机

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

票房这么火爆,如何请视障人士“看”一场电影?

票房这么火爆,如何请视障人士“看”一场电影?

家电

实时焦点:C++入门级基础知识汇总

来源:博客园

知识来源:https://www.imooc.com/learn/1304

https://www.runoob.com/cplusplus/cpp-tutorial.html


(资料图)

编程第一步导入头文件:

#include  std=standard io= into out#include 

编程第二步,写主函数:

int main(int argc,char **argv){//argc表示参数个数,argv表示参数组,一起表示该程序的启动参数}

输入:

scanf("%d", &a); std::cin>>a>>b; //scanf函数会提前设定读取类型,而cin则不需要,更加灵活

输出:

printf("a: %d, b: %d", a, b); std::cout<<’字符串’<

C++基础数据类型

char的大小==unsigned char

long long >= long >= int >= short >= char

格式转化:

  1. 显示格式转换

int a;

short b = (short)a; //以大转小时必须采用显示转化来告诉计算机我们默许数据丢失

  1. 隐式格式转化

short a = 100;

int b = a; //当以小转大时我们可以直接使用隐式转化也不会报错,因为不会丢失精度

C++结构体:

类似于面向对象编程中的类

C++枚举类型

指针:

没有指向的指针称为野指针,对野指针进行操作是十分危险的,因为若野指针指向的数据正是别的程序的关键数据,则会造成不可逆转的影响,若在操作系统中,这样操作野指针的操作则会直接导致程序被杀死,故我们需要事先将野指针赋为空指针。

指针赋空的三种操作

*p = nullptr;

*p = NULL; //NULL = 0 但nullptr是新版指针专属的null,更新更有规格

*p = 0;

指针操作详解:

int a,b = 3,4;

int *i = &a; // 定义一个指针变量,让其值等于a的地址

int *j;

j = &b; //但在定义之后再对指针赋指针值则不能使用‘*j’,因为此时 *j已经代表实际指针指向的数据块,我们不能对实际的代码块赋值指针。进行输出时,*j等同于b,j等同于&b

指针实际案例1:通过指针交换两个变量的内容

#include void change(int *a, int *b) {int c = *a;*a = *b;*b = c;}int main(int argc, char** argv){int a = 3;int b = 4;change(&a, &b);printf("a:%d,b:%d", a, b);}

C++存储变量的方式:

  1. 普通声明的变量采用栈进行存储,当{}作用域结束时变量将会自动释放
  2. 使用malloc()声明时,将采用堆存放,只有当使用free()时才会手动释放

C++数组:

数组名是指向数组中第一个元素的指针

且是一个特殊的常量指针,不可以修改,但可以使用来访问

在一个指针连续声明的空间中,我们也可以用数组的方式去访问指针空间中的数据。

C++判断if和else if

#include enum Week{Mon, // 星期一Fri, // 星期五Sat, // 星期六Sun, // 星期日};int main(int argc,char **argv){Week week = Week::Fri;if(week == Week::Mon) {printf("Mon\n");}else if(week == Week::Fri) {printf("Fri\n");}else if(week == Week::Sat) {printf("Sat\n");}else{printf("Sun\n");}return 0;}Switch case和default、break#include int main(int argc,char **argv){int s = 5;switch (s) {case 1:printf("1\n");break;case 2:printf("2\n");break;case 3:printf("3\n");break;case 4:printf("4\n");break;case 5:printf("5\n");break;case 6:printf("6\n");break;default:printf("unknow\n");}return 0;}

C++的for循环

While循环

For和while的区别

do while:一种对while的补充/一种用于完成和循环无关操作的循环结构。先执行再判断

内联函数inline

函数在调用时会使用栈空间拷贝参数、分配内存,因此会造成额外的内存消耗,因此在一些不必要的地方(调用次数过少)可以使用内联函数,将函数直接翻译进代码块中,不进行额外的函数调用,内联函数以代码膨胀(代码块增大)为代价进行优化。

inline int add(int a, int b){return a + b;}int main(int argc,char **argv){int a = 5;int b = 10;int c = add(a + b);return 0;}//等价于int main(int argc,char **argv){int a = 5;int b = 10;int c = a + b;return 0;}

关键词: 可以使用 面向对象编程