私はC++ 11 auto
を使用し、それが値または参照に解決されるかどうかに関してで型推論のルールは何ですか?C++ 11「オート」の意味
例えば、時にはそれがクリアされている:
auto i = v.begin(); // Copy, begin() returns an iterator by value
これらはそれほど明確である:
const std::shared_ptr<Foo>& get_foo();
auto p = get_foo(); // Copy or reference?
static std::shared_ptr<Foo> s_foo;
auto sp = s_foo; // Copy or reference?
std::vector<std::shared_ptr<Foo>> c;
for (auto foo: c) { // Copy for every loop iteration?
「//ポインタ」は実際には必要ないことに注意してください。また、1つのコンパイラがこの出力を出すだけで、それが標準に準拠しているとは限りません。 ;)この場合正しいですが、正確に何が起こったのかをよりよく説明することができます(推定されるタイプは "減衰"しています)。 – Xeo