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

相关推荐
王维同学28 分钟前
进程模块枚举、映像身份与线程启动地址关联
c++·windows·安全
hold?fish:palm34 分钟前
24 回文链表
数据结构·c++·链表
举手1 小时前
Dispatcher模块剖析
linux·c++
依然鸣2 小时前
PTA团体程序设计天梯赛L1真题讲解L1-077-080
开发语言·c++·算法·深度优先·pat考试·图论
库玛西3 小时前
现代 C++ 智能指针全景指南:从 RAII 思想到工业级实践
c语言·开发语言·c++·笔记·面试
liulilittle4 小时前
无锁并发容器的设计与实现原理
开发语言·c++·set·map·并发·无锁·lock-free
qeen875 小时前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
Augustzero5 小时前
为什么线程不能说睡就睡?看懂等待与唤醒机制
c++·后端
程序员与背包客_CoderZ5 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
冻柠檬飞冰走茶5 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法