#include <iostream> void f(int& x) { x = 1; } int main() { int a = 0; f(a); std::cout << a << std::endl; // 1 return 0; } 記事一覧 以下の記事は"call by reference"ではない動作、ほとんどの場合は"call by value"の一種である"call by address"または"call by sharing"と言われている動作を「参照渡し」と言っています。なお、本来、このような評価戦略の話は関数へ実引数へ渡す時の動作のことを言います。しかし、関数へ実引数を渡すことは、言い換えると、仮引数に実引数を代入(assignment)する事でもあります。よって、通常の代入に対する解説でも、関数への仮引数への代入時と同等の動作の解説として考え、どの評価戦略になるの
!["call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/425264b1d64b3c1db02f97dfbefd269aa8b67a17/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTIyY2FsbCUyMGJ5JTIwcmVmZXJlbmNlJTIyJUUzJTgxJUE3JUUzJTgxJUFGJUUzJTgxJUFBJUUzJTgxJTg0JUU1JThCJTk1JUU0JUJEJTlDJUUzJTgyJTkyJUUzJTgwJThDJUU1JThGJTgyJUU3JTg1JUE3JUU2JUI4JUExJUUzJTgxJTk3JUUzJTgwJThEJUUzJTgxJUE4JUU4JUE4JTgwJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJTg0JUUzJTgyJThCJUU4JUE4JTk4JUU0JUJBJThCJUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1kMTEzMWE2OGNmZTczNDQ0NzA2OGM0NGYyMWEyY2I1YQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByYWNjeSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjJhNjMzYmZjNmRmYjI1NDYwNTEzNDhjMDE5NGQ1NWY%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D116b07c5ec8339cfcb88f6fb48c9e938)