From 267ab3e11ac4c845098fa0e801d7dd2344f5a8d4 Mon Sep 17 00:00:00 2001 From: taynpg Date: Fri, 6 Mar 2026 14:08:15 +0800 Subject: [PATCH] =?UTF-8?q?NRVO=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Languages/cpp/关于语法疑问.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Languages/cpp/关于语法疑问.txt diff --git a/Languages/cpp/关于语法疑问.txt b/Languages/cpp/关于语法疑问.txt new file mode 100644 index 0000000..fdf90e3 --- /dev/null +++ b/Languages/cpp/关于语法疑问.txt @@ -0,0 +1,4 @@ +【1】函数直接返回一个栈上面的对象,是会调用移动构造还是复制构造?? +实际测试=> +(1)在MSVC中,不开优化时调用移动构造,开启优化时,编译器直接在返回值位置构造对象,避免拷贝/移动。 +称为NRVO优化 [NRVO​ 是 Named Return Value Optimization​ 的缩写,意思是 "命名返回值优化"。]。因为在函数中,返回的是一个有名字的局部变量。 \ No newline at end of file