指针 - 参考向量

ala*_*a27 1 c++ pointers

我习惯用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);

我想要的是使用指针而不是使用值传递向量.

Obs:代码编译良好,没有"*"和"&".

请不要说我必须至少尝试学习指针,因为我做到了.我只是不能让这个该死的东西工作!

111*_*111 5

您应该通过引用而不是"通过指针"来获取向量.

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

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

注意更惯用:

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