记录学习c++心路历程
(只是随记,如果发现任何问题可以评论提出来~)
--------------------------------------------------------------------------------------------------------------------------------
函数分解成 声明(在头文件)、定义(编译单元或cpp文件)
#预处理
progra once 监督头文件,防止单个头文件被多次包含,并转换为单个翻译单元
为了避免这种情况,可以使用在结构体中
#ifndef #endif 也可监督头文件不被多次包含 如果包含多次会自动将范围内得重复头文件注释掉(变灰色)
但program once更便捷
头文件格式 两边符号得意思就是表明头文件得路径
<>编译器包含的路径
" " 包含相对于当前文件夹得文件,(可以引用一切 但常用于相对路径)
”../文件明“ 返回当前文件的上级目录
include <iostream>是c++标准库 而include<stduio.h>是c标准库的用法 .h为扩展名
(快捷键F9)断点:breakpoint :暂停执行下一步指令 可在内存里面查看运行状态state,可以很好的发现错误
黄色箭头代表 此时程序该运行此行代码但此时还没有运行
在debug模式下 编译就会出现这样的界面,可以逐步分析代码,若想关闭这个界面 按F55即可
cc是16进制,地址中填满cc是代表未初始化的栈内存
------------------------------------------------
if语句 if(条件)
bool comparisonResult = x==3)
if(comparisonResult)
循环语句
for while dowhile
控制流语句
continue break return
指针 pointer -> ptr
是一个用来存放变量内存地址的整数, *ptr=0/null; 0不是有效地址,不能从内存地址0中读写;
nullptr(空指针)
*ptr=&p 把p的地址给ptr指针
当*ptr=10;
int *ptr=&var (此时必须设定你需要的类型 否则编译器会不识别从而报错)
memset(指针名,需要填充的值,填充的大小)它用我们指定的数据填充一个内存块,接受一个指针,这个指针将会是内存块开始的那个指针
delete[] 指针名; 删除这个指针所指数组的数据
&引用
int& ref=1;(声明引用时需要初始化)
*value++ 会先执行value++ 再给指针地址
(*value)++ 此时先将value的地址给指针再进行value++
class
默认情况下类中所有元素都是私有的;如果类外需要访问,需要设置public
与structure的区别
默认情况下structure中所有元素都是 public的;
实际使用 class会包含各种功能而结构体中只会包含许多变量