为什么我使用这种表示法将着色器的源代码存储在C / C ++中的变量中?

时间:2016-10-21 00:34:46

标签: c++ c arrays pointers

我正在阅读 OpenGL超级圣经第7版,在最早的章节中,有一个像这样编写着色器源代码的例子:

static const GLchar * vertex_shader_source[] =
{
"#version 450 core                  \n"
"                                   \n"
"void main(void)                    \n"
// ... etc ...
};

为什么此代码存储在GLchar 指针数组变量中?

我的意思是,单独GLchar*是不是足以存储一定数量的连续字节?即为什么不:

static const GLchar* source = ...

或:

static const GLchar source[] = ...

为什么我们必须同时使用*[]

我理解static const,因此BTW不是问题。

0 个答案:

没有答案