我需要弄清楚这一点。使用下面的代码:
vector<unsigned long long int> getAllNumbersInString(string line){
vector<unsigned long long int> v;
string word;
stringstream stream(line);
unsigned long long int num;
while(getline(stream, word, ',')){
num = atol(word.c_str());
v.push_back(num);
}
return v;
}
此示例代码只是将输入字符串转换为存储在向量中的一系列 unsigned long long int。
在上面的这种情况下,如果我有另一个函数调用这个函数,并且我们在向量中似乎有大约 100,000 个元素,这是否意味着,当我们返回它时,将创建一个新向量并且将创建与该向量相同的元素在函数中,然后返回时会消除函数中的原始向量?到目前为止我的理解正确吗?
通常,我会以这样一种方式编写代码,即所有函数在涉及到容器时都会返回指针,但是,在程序设计方面,根据我上面的理解,我们是否应该在涉及到容器时总是返回一个指针?