C++ 数组初始化语法
我只是在代码中遇到这个问题,我不明白它在做什么,或者它是如何做的C++ 数组初始化语法,c++,arrays,C++,Arrays,我只是在代码中遇到这个问题,我不明白它在做什么,或者它是如何做的 pos[iter](1) += 12.0f / 900.0f; (1)是否将iter位置的数组值初始化为1,然后添加(12.0f/900.0f)?我不敢相信这是因为它在一个循环中被用来设置调试文本的位置,每个循环将下面的下一行设置为一个高y值(屏幕上的低点)。iter可以是0或1,具体取决于调试文本所在的列表 如果是静态操作,我会理解的 pos[iter](1) += 12.0f / 900.0f; pos可以是数组、映射,也
pos[iter](1) += 12.0f / 900.0f;
(1)是否将iter位置的数组值初始化为1,然后添加(12.0f/900.0f)?我不敢相信这是因为它在一个循环中被用来设置调试文本的位置,每个循环将下面的下一行设置为一个高y值(屏幕上的低点)。iter可以是0或1,具体取决于调试文本所在的列表
如果是静态操作,我会理解的
pos[iter](1) += 12.0f / 900.0f;
pos
可以是数组、映射,也可以是带有重载的运算符[]
的类的对象pos[iter]
返回一个对象(可以是一个函数指针,也可以是一个重载的操作符()
的类),并使用参数1调用它。函数调用很可能返回对返回对象的引用,因为您可以使用+=
改变其值
因此,为了清楚起见,(1)
没有访问任何内容的第二个元素。它只是用这个参数调用一个函数或方法。该方法返回具有适当重载的运算符+=
(可以是标量或实际类)的某个对象
pos
可以是数组、映射,也可以是带有重载的运算符[]
的类的对象pos[iter]
返回一个对象(可以是一个函数指针,也可以是一个重载的操作符()
的类),并使用参数1调用它。函数调用很可能返回对返回对象的引用,因为您可以使用+=
改变其值
因此,为了清楚起见,
(1)
没有访问任何内容的第二个元素。它只是用这个参数调用一个函数或方法。该方法返回具有适当重载的运算符+=
(可以是标量或实际类)的某个对象 pos
是如何定义的?您必须包含pos
的声明才能理解这一行。它可能是一个函数指针的容器,例如,这里重要的是它不是你以前从未见过的奇怪语法。它只是访问一个数组,然后调用一个函数。这段代码可以编译吗?这是一本书中的例子吗?(1)
可能是对某些描述的交叉引用,根本不是代码的一部分。pos
是如何定义的?您必须包含pos
的声明才能理解这一行。它可能是一个函数指针的容器,例如,这里重要的是它不是你以前从未见过的奇怪语法。它只是访问一个数组,然后调用一个函数。这段代码可以编译吗?这是一本书中的例子吗?(1)
可以是对某些描述的交叉引用,而不是代码的一部分。它也可以是指向函数指针的指针。。。只是太多的可能性…它也可能是指向函数指针的指针。。。只是太多的可能性。。。