如何查看班级的所有功能?

时间:2014-12-08 04:37:43

标签: c++ default-constructor symbol-table

主要是我想看看编译器生成的函数(默认构造函数,复制构造函数,赋值运算符,移动赋值,析构函数)。
只是想看看编译器为我生成了哪些函数。

我以为我可以在符号表中看到这个,但我在符号表中发现了名称错误的问题。我可以看到我定义的其他功能,但我不知道如何找到构造函数等。

有没有更好的方法来查看哪些函数与类相关联?

1 个答案:

答案 0 :(得分:2)

你的想法有问题:

编译器将在允许的情况下隐式声明特殊功能 但它只会隐式定义它们,如果它们是ODR使用的。

此外,该内容可能已内联,因此可能无法找到符号。

因此,找出编译器将按需生成哪些函数的唯一故障安全方法是尝试使用它们。
虽然只知道规则并手动检查就足够了,但它们很容易。