VS2022禁用 NRVO/返回值优化(不调用拷贝构造函数处理方式)

VS2022(17.4 及以上版本)提供了专门用于控制 NRVO(具名返回值优化)的编译器开关:

在 VS2022 解决方案资源管理器中,右键点击你的项目

→

→

选择 属性(Properties)。

展开 配置属性(Configuration Properties)

→

→

C/C++

→

→

命令行(Command Line)。

在 附加选项(Additional Options) 输入框中,添加以下参数:

code

Text

/Zc:nrvo-

(注:/Zc:nrvo- 末尾有个减号,代表关闭 optional NRVO12)

点击 应用 并重新编译运行2。

效果:即使在 Release 模式或 C++20 模式下,MSVC 也会强制保留拷贝/移动构造逻辑,从而触发拷贝构造函数12。

相关推荐
青少儿编程课堂1 小时前
蓝桥杯青少组图形化 STEMA 省考(报名倒计时·11/22开考)+ 全国青少年信息素养大赛 2026—2027赛季 + 电子学会图形化考级:校园华容道大闯关
c++·python·算法·bfs·信息学竞赛
白杨尚青1 小时前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
旖旎夜光2 小时前
【C++ 基础入门】C++ 继承(上):概念、切片、隐藏、默认成员函数与友元
c++·笔记·学习
apcipot_rain3 小时前
C++转Java日记(05)
java·开发语言·c++
apcipot_rain12 小时前
C++转Java日记(04)
java·开发语言·c++
WL学习笔记14 小时前
vector模拟实现
c++
蜗牛一步步往上爬16 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
wo_jack20 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH20 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
雪落漂泊1 天前
C++算法 二分查找篇(上)
开发语言·c++·算法