C++泛型编程(一)

news/2025/3/4 12:04:03/

泛型编程

  • 泛型编程函数
  • 泛型编程类

好久没有写过博客了,最近需要封装一个泛编库,在做的时候发现遇到了一些困难,其实之前就分析处理过;只是未对疑难点进行总结,导致自己又重新处理一次疑难杂症。

泛型编程函数

// template_function.hpp
template<typename T>
void add(T v1, T v2);// template_function.cpp
template<typename T>
void add(T v1, T v2){T sum = v1 + v2;std::cout << "v1 + v2 = " << sum << std::endl;
}
// 在另外的文件里面调用该泛编函数的时候,需要实例化对应的函数。否则,编译时会报error。
template void add<int>(int v1, int v2);// main.cpp
int main(int argc, char** argv){add(1, 2);return 0;
}

泛型编程类

// template_class.hpp
template<typename T>
class Test{
public:Test(T value);void print_t();
private:T value_;
};// template_class.cpp
template<typename T>
void Test<T>::Test(T value):value_(value){
}
template<typename T>
void Test<T>::print_t(){std::cout << T << std::endl;
}
// 在另外的文件里面调用该泛编类的时候,需要实例化对应的类。否则,编译时会报error,找不到对应的函数。
template class Test<int>;// main.cpp
int main(int argc, char** argv){Test<int> t(8);t.print_t();return 0;
}

其实,在泛编类中还有很多种使用方法,例如泛编特化(全特化/部分特化)、泛编继承、泛编友元。在这里不再一一说明,会在后面用到的时候进行示例展示。


http://www.ppmy.cn/news/774487.html

相关文章

意外发现,Cortex-M7的性能和诸多关键参数碾压A7和R7

origin: https://www.amobbs.com/thread-5676525-1-1.html 之前一直以为ARM, A-R-M, M排在最后也最便宜&#xff0c;肯定性能最低&#xff0c;但最近意外发现并非如此&#xff0c;M7居然完全碾压R7和A7! 如下表所示&#xff0c;我从ARM网站&#xff0c;eembc.org网站查到的结果…

短链访问服务之openresty

一、openresty 安装&#xff08;docker&#xff09; 1.下载镜像 docker pull openresty/openresty 2.运行容器 docker run -it -d -p 8080:80 \ -v D:/openresty/conf/:/etc/nginx/conf.d/ \ --name openresty openresty/openrest 二、短链服务lua脚本编写如下 D:/openresty/…

vuex中的四个map方法的使用

vuex中的四个map方法的使用 vuex里面有四个map方法&#xff0c;他们分别可以针对不同的元素进行不同的代码生成 这四个map方法都是异曲同工&#xff0c;明白了一个基本上都明白了 1 编写案例 现在想要展示一段文本&#xff0c;其中里面两个参数要存在store的state里面&…

手机摄影-参数(曝光补偿)

引言 什么是曝光补偿&#xff1f;这是摄影领域的一个专业术语 最简单的理解就是&#xff0c;在相机自动曝光控制之外&#xff0c;我们自己来对曝光值进行上下微调&#xff0c;也就是把画面稍稍调亮或者稍稍调暗。 曝光补偿&#xff08;EV&#xff09; 手机的曝光补偿功能在…

关于Android Camera的曝光补偿(Exposure Compensation)

什么事曝光补偿&#xff1f;曝光补偿是指&#xff0c;通过增加或者减少光线的摄入量&#xff0c;来提高或降低照片的亮度。 曝光补偿存在一定范围&#xff0c;比如-2至2&#xff0c;或者-3至3&#xff0c;单位为EV&#xff0c;可以理解为exposure value。 每增加或者降低1EV&…

摄影_曝光补偿

测光错误 自动曝光的时候才有 手动曝光不会有 相机在测光的时候(相机默认将照片处理为18%灰) 有些情况不是这样的(出现错误)曝光补偿(EV) 改变曝光补偿会改变快门的速度 但是影响改其他的参数(光圈) 特别是自动曝光模式下的话可以使用 口诀:亮的场景加 暗的场景减过曝和欠曝 …

相机帧率和曝光时间的关系

文章转载自&#xff1a;http://blog.163.com/pluto_918/blog/static/203853902012111255634175/ 工业相机参数之帧率相关知识详解&#xff1a; 工业相机是机器视觉系统的重要组成部分之一&#xff0c;在机器视觉系统中有着非常重要的作用。工业相机已经被广泛应用于工业生产线…

摄影中的曝光补偿、白加黑减

中灰指的是黑白各半的50%灰度。那为什么又叫“18灰”呢&#xff1f;原来中灰的定义来自光线反射率。光线的反射率范围在0%~100%。人眼能识别的最暗的反射率是煤碳&#xff0c;反射率约在3.6%左右&#xff1b;人眼能识别的最亮的反射率是白卡纸&#xff0c;反射率约在90%左右。因…