gpt4 book ai didi

c++ - 如何将对象添加到 vector

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

我不确定为什么这不能编译:

std::vector< const Obj& > myVector;

void foo(const Obj& obj)
{
myVector.push_back( obj );
}

抱歉,关于我要实现的目标的一些额外信息:我不能在不破坏接口(interface)的情况下更改 foo 的签名,但我只想卡在通过 foo 传递的对象上。我确实想存储指向它们的指针,但我对如何做到这一点的语法感到困惑。

最佳答案

您不能拥有引用 vector 。因为 vector 中的东西必须是可复制和可分配的,而引用不是这些。您可能需要一个指针 vector :

std::vector< const Obj * > myVector;

void foo( const Obj & obj )
{
myVector.push_back( & obj );
}

关于c++ - 如何将对象添加到 vector<const Obj&>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2135888/

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