1

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

我以为我可以在符号表中看到这一点,但我无法在名称修改的符号表中发现它们。我可以看到我定义的其他函数,但我不知道如何找到构造函数等。

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

4

1 回答 1

2

你的想法有问题:

如果允许,编译器将隐式声明特殊函数。
但它只会隐式定义它们,如果它们是 ODR 使用的。

此外,该用法可能已被内联,因此可能找不到符号。

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

于 2014-12-08T04:42:41.623 回答