Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++的双冒号的等价物? 我正在学习C,对C++一无所知。LazyFoo的SDL2教程使用C++做了一个我不理解的双冒号,因此不能在C. 中使用。_C++_C_Sdl - Fatal编程技术网

C++的双冒号的等价物? 我正在学习C,对C++一无所知。LazyFoo的SDL2教程使用C++做了一个我不理解的双冒号,因此不能在C. 中使用。

C++的双冒号的等价物? 我正在学习C,对C++一无所知。LazyFoo的SDL2教程使用C++做了一个我不理解的双冒号,因此不能在C. 中使用。,c++,c,sdl,C++,C,Sdl,如果有帮助,以下是本教程的链接: 除了函数参数和LoadBMP参数之外,这里的一切对我都有意义。我不知道::是什么意思,也不知道path.c_str指的是什么 请,有人能用一种在C语言中有意义的方式来解释它,或者建议一种只使用C语言的解决方法吗?和::here无关。字符串作为一个整体只是指一个字符串,它可能在C中表示为常量char*或char*,因为我猜C程序员并不关心变量的常量。path.c_str只意味着从std::string变量路径中获取一个const char*,因此您可以安全地忽略它

如果有帮助,以下是本教程的链接:

除了函数参数和LoadBMP参数之外,这里的一切对我都有意义。我不知道::是什么意思,也不知道path.c_str指的是什么

请,有人能用一种在C语言中有意义的方式来解释它,或者建议一种只使用C语言的解决方法吗?

和::here无关。字符串作为一个整体只是指一个字符串,它可能在C中表示为常量char*或char*,因为我猜C程序员并不关心变量的常量。path.c_str只意味着从std::string变量路径中获取一个const char*,因此您可以安全地忽略它

在C中,loadSurface将被声明为

SDL_Surface *loadSurface(const char *path)
这意味着对SDL_LoadBMP的调用可以写为

SDL_Surface *loadedSurface = SDL_LoadBMP(path);

<> P.>如果你对学习C++不感兴趣,那么需要什么样的STD::String和S.ST.STR,这是不相关的。在这种情况下,也不与教程相关。

这是命名空间,是:范围操作符。C和C++是不同的编程语言,它们的明显相似性远不同。如果你不想学习C++,那就不必去读或使用C++代码。C或C++范围运算符中没有等效项:::作用域解析。名称空间或类使用这些来消除歧义并帮助隐藏名称。老实说,谷歌一秒钟就能解释这一点。C.STR调用将标准C++字符串转换成一个您熟悉的C字符串。再一次,谷歌快速解释道。在当今世界,即使在嵌入式领域,不学习C++也将是一个严重的障碍。你应该帮自己一个忙,至少要熟悉它。范围解析操作符。从一个随机学习教程中学习C++,你的讲师说你不需要知道C++来学习C,Kate Gregory说你不需要知道C来学习C++。我给你的是这样的,因为这正好在避免C++的时候回答了这个问题。回答得好。@hvd,太好了。非常感谢你。
SDL_Surface *loadedSurface = SDL_LoadBMP(path);