C++一些题目的简要回答

static关键字的作用

  1. 全局静态变量:在全局变量前加上 \(static\),该变量作用域从定义该变量开始到文件尾结束。
  2. 局部静态变量:在局部变量前加上 \(static\),该变量作用域只在该语句块或函数内。
  3. 静态函数:函数默认都是 \(extern\) 类型的,在工程内声明某个函数,若其他 \(cpp\) 文件中同名函数,则会引起冲突。在函数前加上 \(static\) 可以保证该函数只被该 \(cpp\) 文件可用。
  4. 类的静态成员(函数):在类成员(函数)前加上 \(static\),该成员(函数)则是所有对象的共享成员(函数),可用直接通过 <类名> ::<静态成员(函数)> 调用。

指针和数组区别

  1. 指针保存数据的地址,数据直接保存数据。
  2. 指针先得到地址,在通过地址访问数据,数组直接访问数据。
  3. 同类型指针可以直接赋值,数组只能一个个赋值。
  4. 指针常用于动态数据结构,数组则用于固定数目,类型相同的元素。
  5. 指针的内存分配通过 \(malloc、new、free、delete\) 动态分配,数组的内存在编译时分配好。
  6. 64位系统下,指针的 \(sizeof\) 都是8,数组的 \(sizeof\) 取决与数组所占空间的内存。

野指针

指向已删除的对象或者没有访问权限的内存的指针。
主要成因有三:指针没有被初始化、指针被 \(delete\) 或者 \(free\) 后没有置为 \(NULL\)、指针操作超出了所指对象作用范围。

猜你喜欢

转载自www.cnblogs.com/Jiaaaaaaaqi/p/12273488.html
今日推荐