我是C++的初级程序员。我试图创建一个函数原型,返回一个数字的因素。但是,我看到的从函数原型返回多个值的所有方法都需要预先知道将返回的值的数量,这是分解不可能的。
我在Python中所做的是:
def findfac(n):
factors = [1, n] # Make an array
i = 2.0
while i < n:
if i not in factors and (n/i).is_integer():
factors += [i, n/i]
i += 1
return factors这将返回一个包含n的所有因素的数组。
问题是,虽然我可以将不确定数量的元素转储到Python数组中,但C++数组的大小是最大的。那么,是否有一种方法可以在C++中返回动态数组,还是应该重新考虑我的方法?
发布于 2016-01-11 05:17:54
你在找std::vector
#include <vector>
std::vector<int> findfac(int n)
{
std::vector<int> factors{1, n}; // factors = [1, n]
int i;
// TODO
factors.push_back(i); // factors = [1, n, ..., i]
// TODO
return factors; // factors = [factors of n...]
}std::vector::vector,std::vector::push_back,std::vector::size
https://stackoverflow.com/questions/34714512
复制相似问题