Array|C++之重载函数学习( 二 )
【Array|C++之重载函数学习】根据重载规则跳线与函数指针参数列表一致的候选者
严格匹配候选者的函数类型与函数指针的函数类型
代码试验:
文章图片
文章图片
输出结果:
文章图片
文章图片
从输出结果来看 , 很明显调用了第一个func函数 。
2、注意:
函数重载必然发生在同一个作用域中
编译器需要用参数列表或者函数类型进行函数选择(也就是说碰到指针 , 要注意函数类型了)
无法直接通过函数名得到重载函数的入口地址 , 这里还是通过上面的例子演示一下:
文章图片
文章图片
输出结果:
文章图片
文章图片
三、C++和C相互调用:
实际工程中C++和c代码相互调用是不可避免的
c++编译器能够兼容c语言的编译方式
c++编译器会优先使用c++编译的方式
extern关键字能够强制让C++编译器进行c方式的编译:
文章图片
文章图片
1、下面进行一个c++中调用c函数 , 这里我在当前创建三个文件:add.c、add.h、main.cpp 。内容分别如下:
add.c内容:
文章图片
文章图片
add.h内容:
然后我用gcc编译编译生成add.o文件:
文章图片
文章图片
然后main.cpp里面调用add.c
文章图片
文章图片
输出结果:
文章图片
文章图片
结果显示找不到这个函数 , 为了能够在c++里面调用c语言里面的函数 , 我们就要使用刚才上面讲的第四点了;这里我们先用nm命令来查看一下add.o文件里面是否生成符号表(有生成):
文章图片
文章图片
解决方法 , main.cpp改成:
文章图片
文章图片
输出结果:
文章图片
文章图片
推荐阅读
- 中年|C/C++编程笔记:从数据处理的角度,浅析大学课程—数据结构
- 技术编程|内存安全亟待解决!Chrome 团队正探索 Rust 与 C++ 的互操作性
- 中年|C/C++编程笔记:最强IDE和它的天才第一步!稳步学编程
- 中年|C/C++编程笔记:同样是数据类型,链表对比数组?哪个更香?
- 中年|C/C++编程笔记:快速排序的思路与优化改进
- Array|臭氧层正在愈合,并对大气环流造成重大影响
- Array|瞄准“宅经济”!VR看房成年轻人租房新趋势
- Array|Spanlite公司使用3D打印一次高速烧结8,000个零件
- Array|面面俱到的绝佳体验 优质国产旗舰手机推荐
- Array|消息称爱奇艺或在港二次上市,回应称不予置评
