学习笔记(引用,动态分配等等)
来源:互联网 发布:淘宝双十一交易情况 编辑:程序博客网 时间:2024/06/05 22:52
& 在C++中表示引用,用来表示存储器的别名。
int x =7;int& y=x;//定义了一个指向x的引用上面分配了一个int单元,它有两个名字x ,y。
还需要注意的是指针的引用
int a = 1;int b = 2; int *tmp = &a;int *p = tmp;// 第二种情况:int *&p = tmp;(此既是指向指针的引用)p = &b;*p = 5;结果一:a=1,b=5,*tmp=1;*p=5;
结果二:a=1,b=5,*tmp=5,*p=5;
动态分配
class Person{ public: void eat(); private: int m_iAge; string m_strName; }
int main(void)
{
Person one = new Person();//动态分配存储空间
delete one;//释放分配的存储空间,new 和delete 同时结对出现。
Person two; //当不需要时,系统自动释放存储空间
}
引用调用
当一个函数的参数为引用参数,则会出现引用调用。在以往的程序中我们都是直接传递参数,实际上函数里的虚参为实参的一个拷贝,在函数中对虚参进行计算是无法改变实际参数的,若使用引用调用,则是将实际参数传递给函数进行运算,在函数中改变参数的值,主程序中的值也会改变。
#include<iostream>using namespace std;void swap(int a,int b);//第二种情况:void swap(int& a,int & b);int main(void){ int x = 4; int y = 11; cout<<"x="<<x<<", y="<<y<<endl; swap(x,y); cout<<"x="<<x<<", y="<<y<<endl;return 0;}void swap(int a,int b){ int temp; temp = a; a = b; b = temp;}/**第二种情况:void swap(int& a,int& b){ int temp; temp = a; a = b; b = temp;}*/第一种情况:
a=4,b=11
a=4,b=11
第二种情况:
a=4,b=11
a=11,b=4
0 0
- 学习笔记(引用,动态分配等等)
- c++ primer 学习笔记,关于引用等等
- 动态分配内存(学习笔记11)
- C学习笔记(1)--动态分配内存
- [C++学习笔记]--动态分配内存空间
- Struts1学习笔记(5)-----用DispatchAction类实现方法的动态分配
- Struts1学习笔记(6)-----用LookUpDispatchAction类实现方法的动态分配
- 【Unity学习笔记】总结:unity中的中括号:[SerializeField][HideInInspector]等等(更新中)
- Express 学习笔记纯干货(Routing、Middleware、托管静态文件、view engine 等等)
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
- 转载和积累系列 - C语言学习笔记 - 动态分配内存
- C++内存动态分配和引用
- Perl 引用(即指针) 学习笔记
- Extjs4.0学习笔记(文件引用)
- Extjs4.0学习笔记(文件引用)
- JavaScript学习笔记(一)引用
- 学习C++笔记(引用、const、iterator)
- 弱引用 学习笔记(一)
- 在CUDA C/C++中如何衡量代码性能
- Tomcat内存设置详解
- HTML5本地存储localStorage
- 设计模式之组合模式
- 2017.05.11 开启博客之路
- 学习笔记(引用,动态分配等等)
- 两个sql查询使用union之后排序失效的解决方法
- Java中的一些基础算法
- es6实用方法--set
- Operators in MXNet-BatchNorm
- ajax动态刷新
- PHP基础面试题收集
- Linux下用wget下载Oracle软件
- Android N的铃声问题(2)