Myślę, że powinno, ponieważ jest ważne dla poprawności. Jednak jestem zaskoczony, widząc wydajność Clanga. Rozważmy poniższy kod: #include <iostream>
struct S
{
int i;
S(int i) : i(i) {}
Powiedzmy mam funkcję #include <string>
std::string const foo()
{
std::string s = "bar";
return s;
}
int main()
{
std::string t = foo();
}
Czy kompilator wykonać (nazwa) retur
Funkcja musi zwrócić dwie wartości do osoby dzwoniącej. Jaki jest najlepszy sposób wdrożenia? Wariant 1: pair<U,V> myfunc()
{
...
return make_pair(getU(),getV());
}
pair<U,V> mypair = myfunc();