gpt4 book ai didi

c++ - 使用 libtooling 测试类是否可复制构造

转载 作者:行者123 更新时间:2023-11-28 06:00:58 25 4
gpt4 key购买 nike

我想使用 libtooling 来测试由 CXXRecordDecl 定义的是否可复制构造。

我已经试过了:

  • hasCopyConstructorWithConstParam()
  • hasTrivialCopyConstructor() || hasNonTrivialCopyConstructor()

不幸的是,如果类的复制构造函数被隐式删除,那么这两个表达式都会返回 true。如果类继承自不可复制的类或具有不可复制的成员变量,就会发生这种情况。

测试类是否可复制构造的逻辑非常重要,并且必须存在于 clang 中的某处如何使用 libtooling 测试类是否可复制构造?

最佳答案

将评论变成答案:

您可以使用 CXXRecordDecl::ctor_begin 检索构造函数

并检查 CXXConstructorDecl::isDeleted()

关于c++ - 使用 libtooling 测试类是否可复制构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33295191/

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