gpt4 book ai didi

简化命名类型的 C++ 语言功能(特别是在函数声明中)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:23 26 4
gpt4 key购买 nike

我想知道 C++ 中是否有一个宏或语言元素表示与函数中的返回值相同的类型。

例如:

std::vector<int> Myclass::CountToThree() const
{
std::vector<int> col;
col.push_back(1);
col.push_back(2);
col.push_back(3);
return col;
}

而不是行 std::vector<int> col;有某种语言元素吗?我知道这很琐碎,但我只是厌倦了输入它 ;-)。

最佳答案

你可以做两件事:

  1. Type aliasing , usingtypedef

    typedef std::vector<int> IntVector;
    using IntVector = std::vector<int>;

    这两个声明是等价的,并且提供了另一个名称,编译器将其视为原始名称的同义词。它也可以用于模板。

    为什么是两种表示法,而不是一种? C++11 中提供了 using 关键字 to simplify notation for typedefs in templates .

  2. 在 C++14 中,您可以使用 auto 关键字来自动推导返回类型:

    auto Myclass::CountToThree() const
    {
    std::vector<int> col;
    col.push_back(1);
    col.push_back(2);
    col.push_back(3);
    return col;
    }

    有关更广泛的解释,请参阅 this related question .

关于简化命名类型的 C++ 语言功能(特别是在函数声明中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37341200/

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