C++(泛型编程)学习笔记【3】
来源:互联网 发布:公司单页网站源码 编辑:程序博客网 时间:2024/05/24 01:23
1.指针数组与数组指针:
指针数组:int *p [10] 顾名思义首先是一个10个元素的数组,然后每一个元素是一个int 型的指针;
数组指针:int (*P) [10] 首先是一个指针,是一个指向int [10] 数组的指针。
看一段代码:
#include <iostream>
#include <typeinfo>
using namespace std;
int main()
{ int vInt=10;
int arr[2]={10,20}; i
nt *p=&vInt;
int **p2p=&p;
int *parr[2]={&vInt,&vInt};
int (*p2arr)[2]=&arr;
cout<<"Declaration [int vInt=10] type=="<<typeid(vInt).name()<<endl;
cout<<"Declaration [arr[2]={10,20}] type=="<<typeid(arr).name()<<endl;
cout<<"Declaration [int *p=&vInt] type=="<<typeid(p).name()<<endl;
cout<<"Declaration [int **p2p=&p] type=="<<typeid(p2p).name()<<endl;
cout<<"Declaration [int *parr[2]={&vInt,&vInt}] type=="<<typeid(parr).name()<<endl;
cout<<"Declaration [int (*p2arr)[2]=&arr] type=="<<typeid(p2arr).name()<<endl;
return 0; }
运行的结果如下:(我在前面加了行号#XX)
#01 Declaration [int vInt=10] type==int
#02 Declaration [arr[2]={10,20}] type==int *
#03 Declaration [int *p=&vInt] type==int *
#04 Declaration [int **p2p=&p] type==int * *
#05 Declaration [int *parr[2]={&vInt,&vInt}] type==int **
#06 Declaration [int (*p2arr)[2]=&arr] type==int (*)[2]
通过这个实例应该可以明白数组与指针之间的关系了。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.C++的函数指针:
void test(int a, int b) //某函数定义
{
cout<<a+b<<endl;
}
void (*pf) (int, int) ; //定义指向void (int, int)类型函数的指针:pf
pf = test;
pf = &test; //两种赋值方式都可以
pf(3,2);
(*pf) (3,2); //两种调用方式都可以
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.函数声明与定义:
函数声明以及类的声明时语句后一定要有分号,函数定义时不用(也可以有分号(visual studio));
===================================================================================================================
标注:
1.typeid【C++的typeid】
- C++(泛型编程)学习笔记【3】
- C++(泛型编程)学习笔记【2】
- C++(泛型编程)学习笔记【1】
- C++(泛型编程)学习笔记【4】
- (C/C++学习笔记)泛型编程基础
- 《高质量C/C++编程》学习笔记3(内存)
- OBJECTIVE-C编程(第2版)学习笔记3
- C专家编程学习笔记(3)
- 学习C专家编程笔记(1)
- 《c专家编程》学习笔记(一)
- 《c专家编程》学习笔记(二)
- linux C编程学习笔记(一)
- 学习《C专家编程》笔记
- 《C专家编程》学习笔记
- 《c专家编程》学习笔记
- 《C专家编程》学习笔记
- C专家编程学习笔记
- C专家编程学习笔记
- 超详细实用ExpandableListView教程(有图有真相)
- Eclipse 主题颜色配置教程
- Client向Server send数据,返回 WSAEWOULDBLOCK 错误
- UIApplication 与 UIApplicationDelegate
- Eclipse 安装最新SVN插件
- C++(泛型编程)学习笔记【3】
- drawable-mdpi、drawable-ldpi、drawable-hdpi区别
- 处理器微架构学习总结
- HTML 5中几种用于在客户端本地存储数据的API之间的比较
- EXP/IMP迁移数据
- JavaScript学习笔记(二十四) 模块创建构造函数
- Vijos1459 车展
- Redmine更换主题、安装插件
- RTTI