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. UIWindow详解

    UIScreen(屏幕),UIWindow(窗口),UIView(视图)是iOS的几个基本界面元素.其中UIWindow(窗口)和UIView(视图)是为iPhone应用程序构造用户界面的可视组件.U ...

  2. hbs

    <!-- 把这个页面纳入 main 框架里面 -->{{!< main}}<link rel="stylesheet" href="/css/jq ...

  3. SqlSugar-执行Sql语句查询实例

    使用SqlSugar执行sql语句 1.简单查询 SqlSugarClient db = SugarContext.GetInstance(); //执行sql语句,处理 //1.执行sql,转成li ...

  4. [上传下载] C#FileDown文件下载类 (转载)

    点击下载 FileDown.zip 主要功能如下 .参数为虚拟路径 .获取物理地址 .普通下载 .分块下载 .输出硬盘文件,提供下载 支持大文件.续传.速度限制.资源占用小 看下面代码吧 /// &l ...

  5. javascript类继承系列一

    js中没有提供类(class,抽象类,接口等高级的抽象),可以用new,但new的function的对象,构造器 但在js中可以通过function来模拟类的一些特性function fun_name ...

  6. SQL使用存儲過程訪問不同服務器

    用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...

  7. LINQ 多条件写法

    源代码: string depAll = (ddl_dep1.SelectedValue == "") ? "" : ddl_dep1.SelectedValu ...

  8. MySQL使用指南(上)

    作者:大金刚   有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 一.连接MYSQL. 格式: mys ...

  9. Oracle学习【语句查询】

    基本查询语句any和all不能单独使用,必须和比较符一起使用>any 大于最小的例如:select * from emp where sal >any(1000,2000);<any ...

  10. linux下安装mysql5.6(官方文档)

    Using the MySQL Yum Repository  /  Installing MySQL on Linux Using the MySQL Yum Repository Chapter ...