C++ template一些体悟(1)
2024-10-11 23:23:00
#include <iostream> using namespace std; template<typename T>
class testClass {
public:
static T _data;
}; template<typename T>
T testClass<T>::_data = ; int main(int argc, char **argv) {
cout << testClass<int>::_data << endl;
cout << testClass<char>::_data << endl; testClass<int> obji1, obji2;
testClass<char> objc1, objc2;
cout << obji1._data << endl;
cout << obji2._data << endl;
cout << objc1._data << endl;
cout << objc2._data << endl; obji1._data = ;
objc2._data = ;
cout << obji1._data << endl;
cout << obji2._data << endl;
cout << objc1._data << endl;
cout << objc2._data << endl;
testClass<unsigned int> objui;
cout << objui._data << endl;
objui._data=;
cout << objui._data << endl;
return ;
}
可以看到每个T不同,程序都申请了一个静态变量。
单纯写了一个template class并没有任何用,只有使用到testClass<int>时,编译器才会帮助生成class testClass<int>(类似于帮忙写了这段代码),由编译器编译这段代码才会申请变量。
一开始写的时候以为是由template class申请静态变量空间的,还觉得static T _data类型必须指定。
最新文章
- syntax error near unexpected token `then'问题的解决
- 【代码笔记】iOS-显示图片的各种方式
- css字体家族
- GitHub项目大全
- repo 无法连接gerrit.googlesource.com 下载工具
- js数组的内部实现,迭代器,生成器和内包
- uva 514
- Seajs使用实例入门介绍
- 学习ASP.NET Core Razor 编程系列二——添加一个实体
- 洛谷P3980:[NOI2008]志愿者招募
- 20190321xlVBA_汇总表按模板生成明细表
- 海外VPS
- Windows 通过命令行设置固定ip地址
- (转)Fabric CA环境的集成
- onclick 常用手册
- JQuery:聚焦清空输入框值,失焦恢复默认值
- html圈圈
- 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 Week3 20165233
- hdoj1072 Nightmare(bfs)
- python yagmail第三方库发送邮件--更简洁
热门文章
- spring boot 获取bean
- 一、关于a标签伪类中的visited不起作用问题
- Lodop打印如何隐藏table某一列
- vpx
- JarvisOJ Basic Base64?
- Qt evenFilter()与installEvenFilter()
- 关闭VS2017脚本调试 已启用 Visual Studio 中的 Chrome 脚本调试
- Python中xlutils解析
- The Embarrassed Cryptographer POJ - 2635 同余模+高精度处理 +线性欧拉筛(每n位一起处理)
- 【XSY2771】城市 分治