specialization相关内容

显式专业化:语法错误?

我正在编写一个程序,它需要一个模板函数,其中包含一系列项目以及该数组中的项目数量作为参数。该函数需要返回所述数组中的最大项目。该程序还应该有一个专门化(我有问题),检查数组中最长的字符串,如果输入了一个字符串数组。 以下是我的原型: template T比较(T const arr1 [],int n); 模板 const char * com ..
发布时间:2018-04-17 19:01:54 C/C++开发

模板专用化或条件表达式?

我深入一个新项目,我谈到了一堆模板和他们的专业化。现在,经过一天没有编程,我发现自己问是否真的值得额外的代码行。 问题是:专业化的优势是什么? / p> 这是: template class A {}; 模板 A类化合物{void foo(){/ * something * /}}; 模板类A 2, {void foo(){/ * something ..
发布时间:2016-10-28 01:45:46 C/C++开发

不能过载功能

所以我有一个模板化的类,我想重载一个函数的行为,当我有特定的类型,说char。对于所有其他类型,让他们做自己的事情。但是,c ++不会让我重载这个函数。 为什么我不能重载这个函数?我真的不真的想做模板专业化,因为那时我有重复整个类。 这里是一个玩具示例,用于说明问题: http://键盘.org / eTgLG932 此处为您的阅读乐趣张贴的相同代码: #include ..
发布时间:2016-10-28 00:00:52 C/C++开发

按返回类型重载模板

Mooing Duck 发表了评论这里”一个函数不能返回多个类型。但是,你可以专门化或委托重载,罚款。“ 我开始思考这个问题,我想知道这个法律代码是什么: template T initialize(){return T(13); } 当调用时: auto foo = initialize(); auto ba ..
发布时间:2016-10-25 16:32:34 C/C++开发

按返回类型重载模板

Mooing Duck 发表了评论这里”一个函数不能返回多个类型。但是,你可以专门化或委托重载,罚款。“ 我开始思考这个问题,我想知道这个法律代码是什么: template T initialize(){return T(13); } 当调用时: auto foo = initialize(); auto ba ..
发布时间:2016-10-25 16:10:46 C/C++开发

C ++模板专业化

您好!有人知道如何实现或模拟以下行为? (此代码导致编译时错误)。 例如,我只想在派生类中添加特定的模板专用化。 struct Base { template void方法(T a){ T b; } 模板 void方法(int a){ float c; } }; struct派生:public Base { t ..
发布时间:2016-10-24 16:53:18 C/C++开发

没有生成的代码显式专门的模板,即使有显式实例化

我从gcc 4.8.3和clang 3.2得到一致的行为,但不明白为什么会发生。尽管事实上我有一个类模板的显式实例化,代码不是生成的,当我使用一个完全专门的模板实例时,我得到一个未定义的符号。 我在文件'temp.hpp'中有一个简单的类模板定义 #pragma once template class C { public: C(T1 ..
发布时间:2016-10-24 16:50:55 C/C++开发

C ++模板专业化

您好!有人知道如何实现或模拟以下行为? (此代码导致编译时错误)。 例如,我只想在派生类中添加特定的模板专用化。 struct Base { template void Method(T a){ T b; } 模板 void方法(int a){ float c; } }; struct派生:public Base ..
发布时间:2016-10-24 16:40:50 C/C++开发

功能模板专业化与模板类

可能重复: 功能模板的部分专业化 任何地方解决我的问题,因为如果我搜索的关键字,我想出将给我解决方案适合不同的问题。我知道这之前必须提出,只是找不到解决方案。 假设我有一个函数模板: 模板 print(任何值); 我可以这样专门化,让我们说一个 int : 模板(int value) { std ..