函数指针和函数引用(转载)
来源:互联网 发布:简书独立域名 编辑:程序博客网 时间:2024/06/04 18:06
① 函数指针的例子
#include <iostream>
void print(int i)
{
std::cout<< i <<std::endl;
}
void multiply(int& nDest, int nBy)
{
nDest *=nBy;
}
void print_something()
{
std::cout<< "something"<< std::endl;
}
int sayHello()
{
std::cout<< "Hello, World!"<< std::endl;
return10;
}
int main()
{
void(*pFunction_1)(int);
pFunction_1= &print;
pFunction_1(1);
//输出结果为1
void(*pFunction_2)(int&, int) =&multiply;
int i =1;
pFunction_2(i, 10);
std::cout<< "i = "<< i <<std::endl;
//输出结果为10
void(*pFunction_3)();
pFunction_3= &print_something;
pFunction_3();
//输出结果为something
int(*pFunction_4)();
pFunction_4= &sayHello;
int a =pFunction_4();
//输出结果为Hello, World!
std::cout<< a <<std::endl;
//输出结果为10
return0;
}
② 函数引用的例子
#include <iostream>
void print(int i)
{
std::cout<< i <<std::endl;
}
void print2(int i)
{
std::cout<< i <<std::endl;
}
void multiply(int& nDest, int nBy)
{
nDest *=nBy;
}
void print_something()
{
std::cout<< "something"<< std::endl;
}
int sayHello()
{
std::cout<< "Hello, World!"<< std::endl;
return10;
}
int main()
{
// void(&rFunction_1)(int);
//错误:未初始化引用!引用必须初始化
void(&rFunction_2)(int) = print;
rFunction_2(1);
//输出1
rFunction_2= print2;
rFunction_2(2);
//输出2
void(&rFunction_3)(int&, int) =multiply;
int i =1;
rFunction_3(i, 10);
std::cout<< i <<std::endl;
//输出10
void(&rFunction_4)() = print_something;
rFunction_4();
//输出something
int(&rFunction_5)();
rFunction_5= sayHello;
int a =rFunction_5(); // 输出Hello,World!
std::cout<< a <<std::endl;
//输出10
return0;
}
#include <iostream>
void print(int i)
{
}
void multiply(int& nDest, int nBy)
{
}
void print_something()
{
}
int sayHello()
{
}
int main()
{
}
② 函数引用的例子
#include <iostream>
void print(int i)
{
}
void print2(int i)
{
}
void multiply(int& nDest, int nBy)
{
}
void print_something()
{
}
int sayHello()
{
}
int main()
{
}
总结:
函数指针的声明使用方式:
<想要指向的函数之返回类型>(*函数指针的名称)<想要指向的函数之参数类型…>
如要想声明一个函数指针指向以下函数:
void print(int i)
{
std::cout<< i <<std::endl;
}
那么就可以如下操作:
void (*pFunction)(int);
然后如下用函数的地址给pFunction赋值:
pFunction = &print;
在然后,pFunction就可以和函数print一样使用了,比如,
pFunction(1);
等等。
函数指针的声明使用方式:
<想要指向的函数之返回类型>(*函数指针的名称)<想要指向的函数之参数类型…>
如要想声明一个函数指针指向以下函数:
void print(int i)
{
}
那么就可以如下操作:
void (*pFunction)(int);
然后如下用函数的地址给pFunction赋值:
pFunction = &print;
在然后,pFunction就可以和函数print一样使用了,比如,
pFunction(1);
等等。
阅读全文
0 0
- 函数指针和函数引用(转载)
- 函数指针和引用
- 函数指针和函数引用的区别
- 函数指针和函数引用的区别
- 函数指针和函数引用的使用
- 指针函数和函数指针有什么区别(转载)
- 指针函数和函数指针有什么区别(转载)
- 指针函数和函数指针有什么区别(转载)
- 指针函数和函数指针的区别(转载)
- 普通函数指针和指向成员函数指针(转载)
- 指针函数和函数指针的区别(转载)
- 函数返回引用和指针类型
- 函数返回引用和指针类型
- 函数中的引用和指针,static关键字
- 指针和引用作为函数传递参数
- 函数指针 与 函数引用
- 函数 指针与引用
- 函数指针的引用
- [bzoj4551][Tjoi2016&Heoi2016]树 dfs序+线段树
- 双线程卖火车票
- lnmpp 学习(三) MySQL修改root密码的多种方法
- 实句柄和伪句柄
- 《Windows核心编程》1-8章浅读笔记
- 函数指针和函数引用(转载)
- mybatis和hibernate本质区别和应用场景
- 同步与异步
- 本地IP路由表route命令
- html和css基础(五)盒子模型
- DLL的Hello world
- 同步 异步 阻塞 非阻塞 (转载)
- SELECT模型
- 网络字节序与主机字节序