gpt4 book ai didi

c++ - std::function::argument_type 的替代品是什么?

转载 作者:IT老高 更新时间:2023-10-28 23:02:13 57 4
gpt4 key购买 nike

根据cppreference.com所有以下三个:argument_typefirst_argument_typesecond_argument_type 在 C++17 中已弃用并在 C++20 中删除。

这些成员类型的标准库替代品是什么?我的意思是我可以编写自己的类型特征,但我怀疑如果没有在标准库中进行适当的替换,某些东西会被删除。

举个例子:

template <typename F> 
void call_with_user_input(F f) {
typename F::first_argument_type x; // what to use instead ??
std::cin >> x;
f(x);
}

最佳答案

可以通过引入模板参数来获取类型

template <typename Ret, typename Arg> 
void call_with_user_input(std::function<Ret(Arg)> f) {
Arg x;
std::cin >> x;
f(x);
}

将参数类型作为模板参数提供给您。作为奖励,如果需要,您还可以获得返回类型。

关于c++ - std::function::argument_type 的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556432/

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