gpt4 book ai didi

c++ - 函数值参数的常量性特征?

转载 作者:行者123 更新时间:2023-11-30 05:39:21 24 4
gpt4 key购买 nike

是否可以使用 traits 或其他方法来确定函数(或方法)的值参数是否声明为 const?例如,在下面的代码中,fn_params 可用于查找第一个参数具有const int * 类型;然而,第二个参数仅被识别为具有 double 类型。

float foo(const int *, const double) { return 7.6f; }

template <typename T, typename ...Ts>
struct fn_params<T(*)(Ts...)> { using type = std::tuple<Ts...>; };

最佳答案

不,没有,主要是因为无法确定函数可以采用哪些参数。即使在像模板这样的简单情况下,您的查询也是模棱两可的,即使正常的推导规则会使参数成为非常量,也可以使用 const 类型显式实例化,更不用说重载和类似问题了。

在你问参数是不是const之前,你必须知道参数是什么,那是不可能的。

关于c++ - 函数值参数的常量性特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417780/

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