gpt4 book ai didi

c++ - 用于查找 C++ 中移动赋值运算符的所有用法的工具

转载 作者:行者123 更新时间:2023-11-27 22:43:02 25 4
gpt4 key购买 nike

<分区>

我正在 C++ 库中引入移动语义。
有一些遗留客户端使用库的代码因为做出了一些假设而中断关于赋值时无效的赋值运算符真的是搬家作业。这是一个缺乏明确的组合库中的文档和一些有问题的做法客户端代码。不过,我想找到一种方法来轻松找到所有在代码中放置模板的移动赋值运算符使用类。

我已经找到了一种方法来强制编译器错误,当调用移动分配。使用 gcc,如果这是直接调用,我在调用的源代码中获得了行号。很遗憾,如果是间接调用,我不会得到行号。我也试过 clang,但也没有运气。

问题是这样的。在感兴趣的模板类中,说 template Foo { ... },我可以定义移动赋值运算符以便编译用任何类型 T 实例化时失败。如果客户端代码,这给了我想要的行号直接调用它。但是,如果有一个类 X 有一个成员,比如 Foo ,X 得到一个隐式定义的移动赋值运算符,然后调用这个运算符被标记为错误,但是我在 gcc 和 clang 中得到的唯一行号是X 类定义的行号,这不是很有帮助。

有人知道有什么工具可以帮助解决这个问题吗?

谢谢!

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