gpt4 book ai didi

c++ - 模板参数 - 指向模板化类型的指针

转载 作者:行者123 更新时间:2023-11-28 07:22:56 24 4
gpt4 key购买 nike

考虑这个例子:

template< typename T, T &V>
void doSomething() {
V = 1;
}

int i;
double d1, d2;

int main() {
doSomething< int, i>();
doSomething< double, d1>();
doSomething< double, d2>();
return 0;
}

是否可以消除调用中的类型名称?像这样:

    doSomething< i>();
doSomething< d1>();
doSomething< d2>();

请注意,函数签名不应更改。您仍然必须能够像这样使用它:

typedef void (*THandler)();

THandler handlers[] = {
&doSomething< int, i>,
&doSomething< double, d1>,
&doSomething< double, d2>
};

最佳答案

是的。

template<typename T>
void doSomething(T& V) {
V = 1;
}

但是你这样使用它:

doSomething(i);
doSomething(d1);
doSomething(d2);

关于c++ - 模板参数 - 指向模板化类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185167/

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