作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在研究模板,我在其中找到了这个例子:
template <typename T, int size>
void print(StaticArray<T, size> &array)
{
for (int count = 0; count < size; ++count)
std::cout << array[count] << ' ';
}
template <int size>
void print(StaticArray<char, size> &array)
{
for (int count = 0; count < size; ++count)
std::cout << array[count];
}
为什么第二个 print
函数即使有 non-type
参数 size
也能工作,为什么它是完整的模板特化。
最佳答案
不,这不是特化,而是function template overloads , 采用不同的模板参数。
如您所说,第二个重载仍然有一个模板参数,因此它不是完全特化。和 partial specialization函数模板不允许;它仅适用于类模板。
关于c++ - 如何识别部分模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46658927/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
正如您在 this travis.yml 中看到的那样文件,我的代码依赖于一些第三方库,我在构建项目之前将它们安装在远程系统上。 Travis 每次推送提交时都会下载并构建这些库,这可以避免吗?我的意
我是一名优秀的程序员,十分优秀!