“vector<int> Solution::primesum(int n)”是啥意思?

Posted

技术标签:

【中文标题】“vector<int> Solution::primesum(int n)”是啥意思?【英文标题】: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 的一个方法。 谢谢....我不知道成员函数。 【参考方案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)
   ...

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

【讨论】:

以上是关于“vector<int> Solution::primesum(int n)”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章