1 new 建立一个堆对象

new 类名(初值列表) 返回一个指针

int * p=new int(3)动态分配

2 delete  释放指针

delete p;

delete [] p ;释放动态申请的数组

3 new delete和 malloc free

malloc free属于c、c++标准库函数 new delete属于操作符

malloc free只针对内部数据类型的对象;new delete 动态创建的对象

4 const 常量附值时必须初始化

5  引用和指针

int a; int& p; int* q; a=p; q=&a;

p是引用,q是地址

指针在没用给地址之前,不能直接附值

6 函数参数传递

值传递 地址传递 引用传递

值传递 地址传递 只是传递一个副本,所以传递应该是指针的指针

引用传递是传递本身

7 局部数组 和全局数组

char * stra()

{  char *c=new char(10);return c;  }  // 局部变量存的是一个*c,即4B字节的指针,它指向的内容存储在全局存储区内,返回当前指针,可以操作其指向的内容

char * stra()

{  char c[]=new char(10);return c;  } // 局部变量存的是 一个数组 占10个字节,返回指针后,存储内容可能被回收,返回指针没有意义

8 指针和句柄

指针是标记某个物理地址

句柄则是标记系统资源,隐藏系统信息。句柄地址(32位整数)——》对象在内存中的地址(不稳定)——》实际对象

随机推荐

  1. 版本控制-git的使用

    最近刚到公司实习,知道了版本控制,并略微会用了git的版本控制,下面就简单的记录一下,给健忘的自己日后回顾~ 师傅教我的是命令行的使用,所以暂时只说命令行的方法, 1.首先进入CLone到本地的那个本 ...

  2. SSH公钥(public key)验证

    安全的设置服务器 登陆,之前用用户名和密码登陆服务器 这样不安全 ,用SSH公钥(public key)验证  这个办法能很好的解决 登陆服务器 和安全登陆服务器 的特点: 目标: Client 免输 ...

  3. 导出csv文件

    protected void Button1_Click(object sender, EventArgs e)     {         DataTable dt = new DataTable( ...

  4. struts2 标签的使用之一 s:if(遍历中s:if如何用等)

    http://blog.csdn.net/chinajust/article/details/3922718

  5. iOS中常用的第三方

    1. ZBarSDK 二维码.条形码 http://www.cnblogs.com/qingche/p/4242129.html

  6. 查看Safari和钥匙串中的密码

    Safari Safari的同步书签功能很棒,还可以看到其他设备没关掉的网页.为了省时间,一些经常进的网站,比如博客,邮箱等,我都会选择让Safari保存密码,还使用iCloud同步!因为一直很放心苹 ...

  7. 使用Reveal.app调试整个项目UI时间,增加LD指令 -Objc引起项目中多个静态库冲突问题

    今天接触到一个新的UI调试工具教程如下: iOS真机UI调试利器——Reveal 引入增加-ObjC -framework Reveal指令后,发现项目出现多重静态库冲突问题, 首先介绍一个指令: - ...

  8. 理解MySQL——索引与优化(转)

    写 在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页 面大小为4K,并存储100条记录.如果没有索引,查 ...

  9. LINUX命令行操作

    Linux 命令行快捷键 7条回复 涉及在linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 说明 Ctrl – k: 先按住 ...

  10. C#后台程序与HTML页面中JS方法互调

    此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中 ...