鉴于我的变量是一个指针,如果我将它分配给"auto"类型的变量,我是否指定"*"?
std::vector<MyClass> *getVector(); //returns populated vector
//...
std::vector<MyClass> *myvector = getVector(); //assume has n items in it
auto newvar1 = myvector;
// vs:
auto *newvar2 = myvector;
//goal is to behave like this assignment:
std::vector<MyClass> *newvar3 = getVector();
Run Code Online (Sandbox Code Playgroud)
我对autoc ++ 11的工作方式有点困惑(这是c ++ 11的新功能,对吧?)
更新:我修改了上面的内容,以更好地阐明我的向量是如何在函数中填充的,我只是尝试将返回的指针赋给变量.对困惑感到抱歉
从这个问题来看,很明显auto不能用作函数参数.我的问题是为什么允许返回类型,auto但函数参数不是?
auto function(auto data)
{
//DOES something
}
Run Code Online (Sandbox Code Playgroud)
既然,进入c ++ 1z 会有很多好处,那么为什么不呢?auto