gpt4 book ai didi

c++ - 模板 :Name resolution:Dependent template arguments : -->can any one tell some more examples for this statement?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:17 24 4
gpt4 key购买 nike

这是来自 ISO C++ 标准 14.6.2.4 的声明:依赖模板参数:

  1. A type template-argument is dependent if the type it specifies is dependent.

  2. An integral non-type template-argument is dependent if the constant expression it specifies is value dependent.

  3. A non-integral non-type template-argument is dependent if its type is dependent or it has either of the following forms and contains a nested-name-specifier which specifies a class-name that names a dependent type.

  4. A template template-argument is dependent if it names a template parameter or is a qualified-id with a nested-name-specifier which contains a class-name that names a dependent type.

我无法理解这些要点?

任何人都可以举例说明这些陈述吗?

最佳答案

这是我的理解。我已经根据 OP 中的行号标记了内联代码中的各个代码片段。

struct A{
void f(){}
};

template<class T> struct B{};

// The template argument B<T> is TYPE depdent on the template parameter T (1)
template<class T, class U = B<T> > struct T1{};

// The template argument c is VALUE dependent on the template non type parameter 'c' (2)
template<class T, char c, int d = c> struct T2{};

// The 2nd template argument is TYPE depdent on the template parameter T (3)
template<class T, void (T::*p)(void) = &T::f> struct T3{};

// The template template argument B is TYPE depdent on the template parameter T (4)
template<class T, template<class U = T> class V = B> struct T4{};


int main(){
T1<int> t1;
T2<int, 'A', 2> t2;
T3<A> t3;
T4<A> t4;
}

关于c++ - 模板 :Name resolution:Dependent template arguments : -->can any one tell some more examples for this statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793151/

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