gpt4 book ai didi

C++ decltype 推导当前函数返回类型

转载 作者:IT老高 更新时间:2023-10-28 12:46:11 25 4
gpt4 key购买 nike

我想自动推断我正在编写的函数的返回类型。

例子:

std::vector<int> test(){
decltype(this_function) ret;
ret.push_back(5);
ret.push_back(9);
return ret;
}

到目前为止,我取得的最好成绩是

std::vector<int> test(){
decltype(test()) ret;
ret.push_back(5);
ret.push_back(9);
return ret;
}

哪个有效但是:

  1. 如果我更改函数名称,我必须更改

    decltype(test())

    进入

    decltype(name())

  2. 如果我更改函数参数,我也必须更改

    decltype(test())

    进入

    decltype(test(param1, param2))

有没有更优雅的方式来做同样的事情?

最佳答案

命名返回类型?

template <typename T=std::vector<int>>
T test(){
T ret;
ret.push_back(5);
ret.push_back(9);
return ret;
}

请不要让我用 enable_if 来限制它。

关于C++ decltype 推导当前函数返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412144/

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