C++引用和指针简单样例对比
2016-10-25 10:30
477 查看
宏swap http://blog.csdn.net/u014646950/article/details/51603374
c中没有引用,c++才有引用
所以此处用的g++编译
屏幕输出
c中没有引用,c++才有引用
所以此处用的g++编译
//compile:g++ p_quote.c //run: ./a.out //c中没有引用,C++中有引用 #include<stdio.h> #define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b)) void pq(int &a,int &b) { printf("quote a=%d b=%d\n",a,b); printf("quote &a=%d &b%d\n",&a,&b); swap(a,b);//交换 } void p(int *a,int*b) { printf("point a=%d b=%d\n",a,b); printf("point &a=%d &b=%d\n",&a,&b); printf("point *a=%d *b=%d\n",*a,*b); swap(*a,*b);//交换 } int main() { int aa=0,bb=1; printf("main val %d %d\n",aa,bb); printf("main addr %d %d\n",&aa,&bb); pq(aa,bb); printf("after quote swap:a=%d b=%d\n",aa,bb); p(&aa,&bb); printf("after point swap:a=%d b=%d\n",aa,bb); return 0; }
屏幕输出
main val 0 1 main addr -1451064500 -1451064504 quote a=0 b=1 quote &a=-1451064500 &b-1451064504 after quote swap:a=1 b=0 point a=-1451064500 b=-1451064504 point &a=-1451064536 &b=-1451064544 point *a=1 *b=0 after point swap:a=0 b=1
相关文章推荐
- C++ 引用计数技术及智能指针的简单实现
- 【转】C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- 非常经典的C++ 引用计数技术及智能指针的简单实现
- C++ — 智能指针的简单实现以及循环引用问题
- 指针的引用 C++代码简单实例
- C++ 智能指针——简单实现以及循环引用问题
- C++简单学习(Part1_lecture 5)(指针、引用)
- 对比C++中的指针和引用
- 简单谈谈C++中指针与引用的区别
- C++ 引用计数技术及智能指针的简单实现
- C++ 引用计数技术及智能指针的简单实现
- C++ — 智能指针的简单实现以及循环引用问题
- C++复习第四天 引用不简单(本质是指针)
- C++ 引用计数技术及智能指针的简单实现
- 简单谈谈C++中的引用与指针
- C++ 引用计数技术及智能指针的简单实现及改进
- C++引用和指针的对比
- c++ 指针、常量指针、指针常量、引用的简单介绍
- C++简单学习、字符(串)字面值、声明和定义、引用和指针