gpt4 book ai didi

c++ - 获取正确的 value_type

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:33 24 4
gpt4 key购买 nike

在我的类(class)里,我有一个成员:

std::vector<std::string> memory_;

现在我想要一个 fnc 返回内存的第一个元素中的内容,但我不想将 std::string 指定为返回类型,以防以后我决定使用不同的类型为此,我尝试了这个,但它不起作用:

typename decltype(memory_)::value_type call_mem()
{
return memory_[0];
}

关于如何以最通用的方式指定返回类型有什么想法吗?

最佳答案

只要您使用标准容器,就应该可以,我认为没问题。

或者,因为它是一个类的成员,那么您可以使用 typedef 并将 value_type 公开为该类的嵌套类型:

class demo
{
public:
typedef std::vector<std::string> container_type;
typedef container_type::value_type value_type;

value_type call_mem()
{
return *std::begin(memory_); //it is more generic!
}

private:
container_type memory_;
};

请注意,*std::begin(memory_)memory_[0]*memory_.begin() 更通用与它一样,即使数组也可以工作,但这不太可能在实际代码中使您受益。

关于c++ - 获取正确的 value_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164643/

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