Visual Studio 示例化类是什么意思?[duplicate]

pnwntuvh  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(140)

此问题在此处已有答案

C++ What is the difference between definition and instantiation?(3个答案)
C++ Object Instantiation(9个答案)
20天前关闭。
我发现了这个关于3D柏林噪音的代码:https://blog.kazade.co.uk/2014/05/a-public-domain-c11-1d2d3d-perlin-noise.html
我从第一个代码块创建了noise. h文件,然后将第二个代码块添加到C++项目中,包括noise. h头文件,并通过解决方案资源管理器将其添加到项目中。
一切都很好,我没有错误的插入代码。问题是,我真的不知道如何使用它。他只是说:

  • 使用起来非常简单,只需示例化一个Perlin或PerlinOctave示例,并调用noise(x,y,z);简单。*

我对C++没有太多的经验,所以我不知道他所说的示例化是什么意思。但我的尝试是:
float n = noise(x,y,z);(其中x,y,z是浮点变量)。
我也试探着:
float n = PerlinOctave::noise(x,y,z);(其中x,y,z是浮点变量)。
Visual Studio报告错误,内容如下:“不允许命名空间名称”
他也没有给予任何关于如何使用八度音程功能的说明,八度音程功能与噪音功能是分开的。
有没有人对如何使用这段代码有更好的理解?

yv5phkfx

yv5phkfx1#

示例化意味着创建一个对象。作者意味着创建一个Perlin对象,如下所示:

uint32_t seed = 42;
noise::Perlin perlin(seed);

然后调用noise方法:

for (double x = 0.0; x < 1.0; x += 0.1)
{
    std::cout << perlin.noise(x) << "\n";
}

PerlinOctave类也是如此。
如果你想继续学习C++,退一步学习C++的基础知识可能是值得的。否则,你就应该做好准备迎接痛苦的世界。

相关问题