关于c/c++有些函数之前有export详解
来源:互联网 发布:淘宝上买笔记本可靠吗 编辑:程序博客网 时间:2024/05/30 22:51
为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern,来使用这些变量或对象时;但是对模板类型,则必须在定义这些模板类对象和模板函数时,使用标准C++新增加的关键字export(导出/出口/输出)。例如:
extern int n;extern struct Point p;extern class A a;export template<class T> class Stack<int> s;export template<class T> void f (T& t) {……}
一般是在头文件中给出类的定义或全局函数的声明信息,而在代码文件中给出具体的(类成员函数或全局函数的)函数定义。然后在多个用户代码文件中包含该头文件后,就可以使用其中定义或声明的类和函数。头文件中一般不包含变量、结构和类对象的定义,因为这样可能会导致重复定义的编译错误。解决办法是,在某个代码文件中进行定义,在其他用户代码文件中用extern来引用它们。
但是对模板类型,则可以在头文件中,声明模板类和模板函数;在代码文件中,使用关键字export来定义具体的模板类对象和模板函数;然后在其他用户代码文件中,包含声明头文件后,就可以使用该这些对象和函数了。例如:
// out.h:(声明头文件——只包含out函数的声明信息)
template<class T> void out (const T& t);
// out.cpp:(定义代码文件——包含out函数的声明[通过include]和定义等全部信息)
#include <iostream>#include “out.h”export template<class T> void out (const T& t) {std::cerr << t;}//user.cpp:(用户代码文件——包含函数的声明头文件后就可以使用该函数)#include “out.h”
阅读全文
0 0
- 关于c/c++有些函数之前有export详解
- 关于typedef和指针函数的用法的一些尝试,依然有些不求甚解-C语言
- C技巧: 在main之前运行函数
- C Export 读书笔记
- 转载的一些常用的C函数,还有些用途
- 标准C函数中关于文件IO的函数详解
- 【c/c++】输入函数详解
- c++/c 函数指针详解
- 【c/c++】C语言main()函数详解
- 关于C函数
- C++:关于构造函数
- 【C++】关于指针函数
- C语言--关于函数
- 关于c++pow()函数
- c#日期函数详解
- 虚函数详解(C++)
- C函数Strtok详解
- C语言函数详解
- SpringMVC中出现" 400 Bad Request "错误的解决方法
- [Codeforces] 847B
- 冒泡排序
- view.py 代码
- nginx配置本地静态服务器Mac
- 关于c/c++有些函数之前有export详解
- leetcode 120. Triangle
- iOS 算法~写一个函数,返回数字1-N排列组成的字符串,数字之间通过空格分离.例如1-5.返回”1 2 3 4 5”
- word公式与文本不能对齐怎么办?
- android 双击返回退出
- 使用HAL库、STM32CubeMX和Keil 5开发入门教程(二):GPIO
- 数据结构笔记-————归并排序
- 关于本博客
- 【头条】思科Partner Summit2017:解锁新时代的价值