【问题标题】:What does "vector<int> Solution::primesum(int n)" mean?“vector<int> Solution::primesum(int n)”是什么意思?
【发布时间】:2020-04-17 13:36:49
【问题描述】:

作为 C++ 的初学者,我很难理解这件事:

vector<int> Solution::primesum(int n)

代码:

 vector<int> Solution::primesum(int n){
        vector<bool> isprime(n+1);    
  for(int i=0;i<=n;i++)

         isprime[i]=1;
        isprime[0]=0;
        isprime[1]=0;
        for(int i=2;i*i<=n;i++){
            if(isprime[i]){
                for(int j=i*2;j<=n;j+=i)
                 isprime[j]=0;
            }
        }
        vector<int>ans(2);
        for(int i=2;i<=n/2;i++){
            if(isprime[i] && isprime[n-i]){
                ans[0]=i;
                ans[1]=n-i;
                return ans;
            }
        }
    }

【问题讨论】:

  • 它是Solution 的成员函数,它返回一个vector&lt;int&gt;。你到底有什么不明白的?
  • 是的,你可以。 vector&lt;int&gt; Solution::primesum(int n) 表明 primesum 是类 Solution 的一个方法。
  • 谢谢....我不知道成员函数。

标签: c++ vector stl


【解决方案1】:

在您的代码中的某处必须有一个类 Solution,它有一个成员函数 primesum 接受一个整数参数并返回一个整数类型的向量:

class Solution
{ 
   public:
   vector<int> primesum(int);
};

只有这样你才能使用范围解析运算符::在外部定义它:

vector<int> Solution::primesum(int n) 
{ // Definition }

【讨论】:

    【解决方案2】:

    嗯,解决方案是指一个名为“解决方案”的类,它代表一种自定义数据类型。而 primesum(int n) 是类定义中的成员函数,返回类型为 ,而向量是用作 int[] 或 char[](或 string)的增强版本的数据类型。

    class Solution
    {
    public:
       vector<int> primesum(int) //just like int* primesum(int); amount to returning a array
       ...
    };
    
    Solution::vector<int> Solution::primesum(int n){
       ...
    }
    

    如果可能,请提供更多详细信息,以便我们理解和回答您的问题。

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 2016-05-17
      • 2010-10-04
      • 2020-07-15
      • 2015-08-28
      • 2011-06-05
      相关资源
      最近更新 更多