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

相关推荐
千谦阙听4 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
weixin_307779134 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN5 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
雾里看山5 小时前
源码目录、构建目录与 out-of-source build
c++·软件构建·cmake
渡我白衣7 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
如意猴7 小时前
【C++】001--C++入门(1)
开发语言·c++
hetao17338377 小时前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
HugoStudio_SWAN10 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
raindayinrain11 小时前
c++并发
c++
j7~11 小时前
【C++】智能指针的使用及其原理--详解
c++·c++11·内存泄漏·智能指针·raii·boost智能指针