C ++教程在不取消引用的情况下为指针赋值

C++ tutorial assigns value to pointer without dereferencing

我正在学习 Lazy Foo 的 SDL 教程,但遇到了一些我不明白的事情。当我了解指针时,我的印象是它指向一个内存地址,因此必须取消引用才能更改存储在该内存地址的值。那么如何在不取消引用的情况下将不是内存地址的值分配给指针变量。

    SDL_Surface* gHelloWorld = NULL;

    gHelloWorld = SDL_LoadBMP("02_getting_an_image_on_the_screen/hello_world.bmp");

让我们把它比作房子,您的 SDL_Surface 对象是房子。 现在你的 gHelloWorld 是一个 SDL_Surface 指针。所以你可以把它比作一张卡片,上面写着房子的地址。 在您的初始化中,您为 gHelloWorld 提供了一张空卡片。 在下一行中,您调用 SDL_LoadBMP,这将为您提供一张带有新地址的新卡。 (也许函数给你盖了房子,并给了你他盖房子的地址)。