gpt4 book ai didi

c++ - 模板参数必须是类型吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:47 26 4
gpt4 key购买 nike

在 Bjarne Stroustrup C++ Book(第 13 章,第 331 页)中,它说“模板参数可以用于后续模板参数的定义”。它给出了以下代码:

template<class T, T def_val> class Cont{ /* ... */ }

任何人都可以提供如何使用此模板的示例。比如,如何初始化一个Cont对象?在我看来,“def_val”不是类型参数,不应放在 <> 中。我错了吗?

非常感谢

最佳答案

你可以这样做:

Cont<int, 6> cnt;
// ^ as long as this is of type T (in this case int)
// def_val will be of type int and have a value of 6

模板参数不需要是类型。

这仅在 T 是整数类型时有效(intunsignedlong char 等,但不是 floatstd::stringconst char* 等),正如@Riga 在他的/她的评论。

关于c++ - 模板参数必须是类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534100/

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