我可以从类构造函数中将“this”作为指针传递给函数,并在构造函数返回之前使用它指向对象的成员吗?
只要在函数调用之前正确初始化访问的成员,这样做是否安全?
举个例子:
#include <iostream>
class Stuff
{
public:
static void print_number(void *param)
{
std::cout << reinterpret_cast<Stuff*>(param)->number;
}
int number;
Stuff(int number_)
: number(number_)
{
print_number(this);
}
};
void main() {
Stuff stuff(12345);
}
我以为这行不通,但似乎行得通。这是标准行为,还是只是未定义的行为按照我的方式进行?