gpt4 book ai didi

c++ - 什么是模板 习语?

转载 作者:IT老高 更新时间:2023-10-28 21:47:34 26 4
gpt4 key购买 nike

我正在阅读 this并试图了解 N3601大约。它说这个成语在网络搜索中出现了很多,但我找不到任何东西。什么是

template<typename T, T t>

成语,它解决了什么问题,它是如何使用的,什么是隐式模板参数,以及提案旨在解决什么问题?

最佳答案

正在解决的问题是从模板非类型参数推导类型。

给定:

template<typename T> void foo(T);
template<typename T, T> void bar();

可以推导出 T对于 foo (例如 foo(10) 将导致 T 被推导出为 int ),但无法推导出 T对于 bar (bar<10>() 根本不会编译,你必须写成 bar<int,10>() )。

N3601建议通过引入语法来解决这个问题:

template<using typename T, T> void bar();

这将允许 bar<10>()编译并导致类型 T可以推导出来。

关于c++ - 什么是模板<typename T, T t> 习语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15983802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com