指针和引用的区别

(1)引用是一个变量的别名,本身不单独分配自己的内存空间,跟原来变量共享内存空间;而指针需要重新分配自己的内存空间,用来保存指向对象的地址。
(2)引用访问一个变量是直接访问,而指针是间接访问。
(3)引用一经初始化就绑定到一个内存空间,且只能是这个内存空间的名字,定义时必须初始化。
(4)给引用赋值修改的是引用关联的对象的值(内存空间的值)。
下面的代码中,test_pointer函数中改变的是指针pa的值,使pa和pb指向了同一个对象,a和b的值没有变。test_reference函数中改变的是a的值,ra和rb仍然指向之前的对象,不过此时a和b的值相等。

#include<iostream>

using namespace std;

void test_pointer()
{
	int a = 1,b = 2;
	int *pa = &a,*pb = &b;
	pa = pb;
	cout << a << b << endl;
}

void test_reference()
{
	int a = 1,b = 2;
	int &ra = a,&rb = b;
	ra = rb;
	cout << a << b;
}

lua面向对象模拟简介

lua不是面向对象语言,但可以通过表(table)和元表(metatable)来模拟。table 是 lua 中唯一的一种数据结构,它可以用来描述原始的数组、符号表、集合、 记录、...

阅读全文

在c/c++中调用lua函数

上篇文章完成了在lua中调用c/c++函数,现在来实现在c/c++中调用lua函数。 首先完成lua代码,创建sum.lua: function add(x, y) return x + y; end 为了...

阅读全文

在lua中调用c/c++函数

lua是一种轻量级的脚本语言,用来扩展c和c++非常好,在游戏开发中使用很普遍。 首先下载lua,因为我是在win7下,所以我这里下载了luaforwindows,安装到F:\Lu...

阅读全文

欢迎留言