小编Tar*_*aya的帖子

C++矢量参考有趣

我编写了一个简单的c ++算法来计算向量的排列.如果我改变这13行,下面的代码工作正常

vector<int>& pp = p.front();
Run Code Online (Sandbox Code Playgroud)

对此

vector<int> pp = p.front();
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.我不认为这是由重新分配造成的.有人能解释一下吗

#include <vector>

using namespace std;

class Solution {
public:
    void f(vector<vector<int> >& p, vector<int>& num)
    {
        if (p.front().size() == num.size()) return;
        int k = p.size();
        while (k)
        {
            vector<int>& pp = p.front();
            for (int toAdd : num)
            {
                bool found = false;
                for (int i = 0; i < pp.size(); i++)
                {
                    if (pp[i] == toAdd)
                    {
                        found = true;
                        break;
                    }
                }
                if (!found)
                {
                    vector<int> newp; …
Run Code Online (Sandbox Code Playgroud)

c++ stl vector pass-by-reference

0
推荐指数
1
解决办法
105
查看次数

标签 统计

c++ ×1

pass-by-reference ×1

stl ×1

vector ×1