C++ 1
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位整数)——》对象在内存中的地址(不稳定)——》实际对象
随机推荐
- angularJs ionic phoneGap 分享
由于坑较多 就如“天下难事,必作于易吧” 最近有机会接触到了git node angularJs ionic phoneGap 很开森也很痛苦 分享如下 推荐的几个博客地址: ionic开发插件之n ...
- c#中string.trimstart() 和string.trimend() 的用法
trim(),trimstart(),trimend()这样写是去掉空格,trimstart(a)是去掉字符串开始包含char[] a的字符,trimend同trimstart. 例:char[] a ...
- [DEncrypt] HashEncode--哈希加密帮助类 (转载)
点击下载 HashEncode.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.HashEncode 得到随机哈希加密字符串2.HashEncode 得到一个随机数值3.HashEncod ...
- Eclipse闪退/打不开/无法启动/一闪而过
转自:http://my.oschina.net/psuyun/blog/421058 很长时间了,写java.写android都是用的Eclipse.可是突然有一天,当我像往常一样试图打开Eclip ...
- 不安装oracle客户端,连接到服务器的oracle (注:针对 odp.net)
前几天在研究怎样不安装oracle客户端去访问oracle,并把里面的数据同步到本地的Sql Server数据库中. 准备工作:首先你得有如下.dll,我这个是针对oracle10g的,如果是更高的版 ...
- JAVA学习-基础知识
1.Java程序都是以类的形式编写的.2.存放源代码的文件叫源文件.(电脑不能直接看懂的,需要编译一下,电脑才能懂)如何编译源文件?用javac命令输入"javac 123.Java&quo ...
- C与C++的区别
C++与C的区别 1. 动态分配内存 1)C语言 a. malloc函数:在内存的动态存储区中分配一个长度为size的连续空间: void *malloc(unsigned int siz ...
- 浅谈ListBox控件,将对象封装在listBox中,在ListBox中显示对象中某个属性,在ListBox中移除和移动信息
大家好,俗称万事开头难,不经历风雨,怎能见彩虹.在此小编给大家带来一个自己练习的小实例,希望与大家一起分享与交流.下面进入应用场景,从SQL2008数据库取出数据,给ListBox赋值在界面并显示出来 ...
- 轻松使用px为单位开发移动端页面
研究移动端页面已经有许久了,一直执着于rem来开发,不谈性能怎么样,单从工作效率上看影响了不少,首先要固定设计稿的宽度,一般都是固定在640px,然后在根据根目录的字体大小来计算出每个元素的rem的值 ...
- ubuntu 14.04安装quickbuild server (一)
官网: http://www.pmease.com/ 指导网站: http://wiki.pmease.com/display/QB60/ 1. 安装quickbuild server ------ ...