gpt4 book ai didi

c++ - 查找所有 move 构造函数和 move 赋值运算符(特别是那些没有 'noexcept' 的)

转载 作者:行者123 更新时间:2023-11-30 03:24:52 24 4
gpt4 key购买 nike

在 Visual Studio 2017 中,我尝试将“noexcept”添加到所有相关的 move 构造函数和 move 赋值运算符,以便标准库容器可以调用它们。

有没有办法找到所有 move 构造函数和 move 赋值运算符?或者,如果 move 构造函数/赋值运算符未标记为“noexcept”,是否会打开编译器警告?

最佳答案

只需在您的代码库中查找它们:

grep -E '\(.*&&.*\)' | grep -v noexcept

您可能需要改进此正则表达式以更好地过滤匹配项。您可以:

  • 利用 move 构造函数和所有构造函数一样没有返回类型 (^\w*\W*\();
  • 利用 move 构造函数只接受一个参数(将 .* 替换为 [^,]*);
  • 仅过滤声明或定义以查找最后的分号。

关于c++ - 查找所有 move 构造函数和 move 赋值运算符(特别是那些没有 'noexcept' 的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49403733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com