通过引用将空的或未初始化的STL容器传递给函数是否总是安全的?例如

void some_function(deque<string> &passed_by_ref) {

passed_by_ref.push_back("a string");

}

int main() {

deque<string> some_data;

some_function(some_data);

return 0;

}


我没有这种方法的任何问题,但不确定是否可能有任何NULL参考问题。

最佳答案

是的,它总是安全的。 deque<T>不是指针类型-它是对象类型。标准容器具有默认构造函数,因此,在此语句之后

deque<string> some_data;


some_data是正确构造的空deque

关于c++ - 通过引用传递空的或未初始化的STL容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11862742/

10-13 05:04