摘要: static作用 改变被修饰变量或函数的作用范围与生命周期。 全局变量 static修饰全局变量时,在同一文件中被修饰的全局变量和普通全局变量的作用范围与生命周期没有区别,但被修饰的全局变量只能在定义的文件中可见,其他文件无法访问该变量。 局部变量 static修饰函数中的局部变量时,该变量不会因为 阅读全文
posted @ 2022-03-07 11:18 hik_老鬼 阅读(41) 评论(0) 推荐(0) 编辑
摘要: ​ std是一个命名空间,C++标准库中的标准函数与标准类都在std中定义,为了防止用户自定义函数或类与标准中命名冲突,使用标准库中需要限定命名空间。 标准库调用 1 #include<iostream> 命名空间限定 1 using namespace std;//或std:: C++非标准库中不 阅读全文
posted @ 2022-03-07 11:13 hik_老鬼 阅读(65) 评论(0) 推荐(0) 编辑
摘要: ​ 函数功能把含有'\0'结束符的字符串复制到另一个地址空间。 函数声明:char *strcpy(char* dest, const char *src); 把以src为首地址NULL为结束符的数据复制到已dest开始的地址,但是,src与dest空间不能有重叠,且dest必须有足够的空间。 C+ 阅读全文
posted @ 2022-03-07 11:12 hik_老鬼 阅读(219) 评论(0) 推荐(0) 编辑
摘要: ​ 空指针 一个被赋值为0的指针,它不指向任何的对象或者函数。注意:指向内存编号为0的空间是空指针,当初始化指针变量,如果刚开始不知道指向那 就给他初始化指向0编号,但是空指针指向的内存是不可以访问(0到255之间是系统占用的内存用户不可以访问)。 空指针定义 1 int *p=nullptr;// 阅读全文
posted @ 2022-03-07 11:10 hik_老鬼 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 数组 指针 保存数据 保存数据地址 直接访问数据 间接访问,首先获得数据的地址,然后从该地址中获得数据 通常数据数据数目固定,且数据元素类型相同 用于动态的数据结构 隐式的分配和删除内存 手动分配和删除内存,关键词:new、delete 自身即为数据名 指向匿名数据或函数 阅读全文
posted @ 2022-03-07 11:07 hik_老鬼 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 引用是一个别名,指针是一个变量;变量中存储的数据是地址。 对指向地址变量进行操作时,引用不需要解引用;指针需要解引用(加*)。 引用定义时需要有明确指向,且指向一旦确定就不能改变;指针定义时指向可以为空,且中途指向可以改变。 ++运算意义不一样,引用名++:表示引用变量的值++;指针名++:表示指向 阅读全文
posted @ 2022-03-07 11:01 hik_老鬼 阅读(28) 评论(0) 推荐(0) 编辑
摘要: share_ptr指针涉及到循环引用问题会因为share_ptr指针对应的use_count()无法清0,导致内存泄露,直接上例子: 1 class S_B; 2 class S_A 3 { 4 public: 5 shared_ptr<S_B> m_b; 6 }; 7 8 class B 9 { 阅读全文
posted @ 2022-03-07 10:49 hik_老鬼 阅读(186) 评论(0) 推荐(0) 编辑
摘要: ​ 在使用基本指针类型时,需要手动释放指针指向的内存,容易造成内存泄漏。而智能指针类型就是将基本指针类型封装成模板类,以便更好地管理内存。智能指针就是一个类,当超出类的作用域时,编译器会自动调用析构函数,自动释放资源,所以智能指针的作用原理就是函数结束时自动释放空间,无需手动释放内存空间。 智能指针 阅读全文
posted @ 2022-03-07 10:37 hik_老鬼 阅读(53) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示