The title basically says it all:
**Where does the C++14 standard specify initialization of function arguments and initialization from function return values?**

As an aside: To align what my compiled program does and what the C++ standard says in regards to initialization, I use the `--no-elide-constructors` argument to `gcc`. This argument keeps GCC from eliding (i.e. optimizing) superfluous constructor calls. I.e.

```
#include <iostream>

#define CALLED  std::cout << __PRETTY_FUNCTION__ << " called" << std::endl

class C {
public:
    C() { CALLED; }
    C(const C &c) { CALLED; }
    C(const C &&c) { CALLED; }
};

C f() { return C(); }

int main()
{
    C c = f();
    return 0;
}

```

gives with `c++ -std=c++14`:

```
C::C() called

```

and with `c++ --no-elide-constructors -std=c++14`:

```
C::C() called
C::C(const C&&) called
C::C(const C&&) called

```