gpt4 book ai didi

c++ - 指针 - 引用 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:11:21 29 4
gpt4 key购买 nike

我习惯用 C# 或 Java 编程,所以我在 C++ 方面做得很差。我相信这很容易,但我就是做不到。请帮助我。

我有这个:


void swap(vector * vet, int i, int j)
{
int temp = vet[i];
vet[i] = vet[j];
vet[j] = temp;
}

我是这样调用方法的:


swap(&vet, j, j - 1);

我想要的是使用指针而不是使用值来传递 vector 。

观察:代码在没有“*”和“&”的情况下编译得很好。

请不要说我必须至少尝试研究指针,因为我做到了。我就是不能让这该死的东西工作!

最佳答案

您应该通过引用获取 vector 而不是“通过指针传递”。

void swap(std::vector<int>& vet, std::size_t i, std::size_t j)
{
using std::swap;
swap(vet[i], vet[j]);
}

http://en.cppreference.com/w/cpp/algorithm/swap

注意更惯用的:

http://en.cppreference.com/w/cpp/algorithm/iter_swap

关于c++ - 指针 - 引用 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020573/

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