`
huzhenyu
  • 浏览: 185100 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

c++学习笔记

    博客分类:
  • JAVA
阅读更多
1.指针是用来保存内存地址的变量 如:int i; int *p = &i;
2.定义指针后一定要用它来保存地址,否则使其成为失控指针,可以指向任何地址,并且对地址数值进行修改被造成可怕的后果.
3.为什么使用指针:在操作大型数据和类时,指针通过内存地址直接访问数据,从而避免程序中复制大量的代码,因此指针效率高.指针三大用途:处理堆成存放的大型数据,快速访问类的成员数据和函数,以别名的方式向函数传递参数.
4.数据在内存中的存放形式:
4-1.栈区(stack):由编译器自动分配并且释放,该区域一般存放函数的参数值,局部变量的值
4-2.堆区(heap):一般由程序员分配与释放,若程序员不释放,程序结束时由操作系统自动释放
4-3.寄存器区:用来保存栈顶指针和指令指针.
4-4.全局区(静态区)(static):全局变量和静态变量的存储是放一块的,初始化的全局变量和静态变量是放在一块区域,未初始化的全局变量和静态变量是放别块区域的.程序结束后由系统释放.
4-5:文字常量区:常量字符串就是存放在这,程序结束后由系统释放
4-6:程序代码区:存放函数体的二进制代码
5.常量指针自身不可以改变,但它指向的目标可以改变
6.引用几乎拥有指针的所有功能,但语法更加简单,引用就是别名
7.引用可以看成别量常量,只能改变引用的值而不能改变别名的身份
8.只要在堆中创建一块内存空间,就会返回一个指向该空间的指针.如果弄丢了该指针堆中空间就成了不可访问的区域也就是程序员所说的内存泄露
9.堆中对象初始化给一个引用,当对象被删除时这个引用就成了空引用.如果无意中使用了这个引用就会导致程序错误
10.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics