如何返回一个无效的容器QListint test(){return nullptr}QListint test2(){QListint retreturn re
如何返回一个无效的容器
QList<int> test()
{
return nullptr;
}
QList<int> test2()
{
QList<int> ret;
return ret;
}
test() 编译不能通过,而test2()可以
是不是必须得声明一个变量返回?可这里是局部变量啊,函数返回时声明周期也就结束了吧
[解决办法]
会拷贝一份的.
不是返回的指针和引用就没问题.
[解决办法]
c++不像java,什么都可以是null
可以考虑把返回类型改成指针
[解决办法]
QList<int> test3() {
retrun QList<int>();//名字可以省略
}
QList<int> ret = test3(); //编译器会做RVO优化(return value optimization)具体可以google c++ rvo
[解决办法]
QList<int>* test()
{
return nullptr;
}
