gpt4 book ai didi

C++ 'class myClass' 之后的名称指定什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:47:47 24 4
gpt4 key购买 nike

我知道在 C++ 中,类以 class childClass : public parentClass 和类似变体的形式继承。然而,我正在查看 SFML(C++ 游戏编程库)头文件,我发现了这个:

namespace sf
{
...
class SFML_API Drawable
{
public :
...

我对这在 C++ 语法方面的含义感到困惑。类名不能包含空格,也没有冒号或任何其他符号。这个语法是什么意思?

最佳答案

按照惯例,像这样全部大写的标识符通常是预处理器宏常量

鉴于这一事实,如果您搜索其他标题,您可能会找到如下一行:

#define SFML_API __declspec(dllexport)

在我自己安装的 SFML 2.1 中,我在 Config.hpp 中找到了这些行:

#define SFML_API_EXPORT __declspec(dllexport)
// ... later...
#define SFML_API_EXPORT __attribute__ ((__visibility__ ("default")))

__declspec 关键字告诉 Windows 上的编译器,后面的声明将被视为共享库中的导出符号。同样,__visibility__ 属性告诉 GCC 兼容的编译器该符号在库外是可见的。这使得应用程序可以链接到动态/共享库并使用其代码。

关于C++ 'class myClass' 之后的名称指定什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19821493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com