我有一个名为的类Image
,我希望非成员函数返回到Image
.
Image::Image(const char * src);
Image::Image& operator= (const Image& p);
Image requestImg(std::string filename); //not a member function
我像这样使用它:
Image p = requestImg("grass.png");
但是,这很好——我希望能够requestImg
产生一个线程,将图像加载到Image
对象(p)中,同时将该对象修改为具有loading=true
.
换句话说。
Image p = requestImg("grass.png"); //image is loading
std::cout << p.loading << std::endl; //true
//some time passes
std::cout << p.loading << std::endl; //false
p
最初不能将 loading 设置为 true,因为它不会加载并且不会导致合理的命名。我意识到使用成员函数会更容易 - 甚至可以将指针传递给函数,但是有什么方法可以做到这一点,正如我所阐述的那样?