Array + int作为一个参数做什么?

Joh*_*ale 4 c++ arrays

我正在查看一些源代码,在代码中它有一些我不完全理解的代码.下面是一个基本的伪示例,模仿我无法理解的部分:

    float *myArray;

    object(){
        myArray = new float[20];
    }

    ~object(){   
    }

    void reset(){
        delete [] myArray;
    }

    void myMethod(float *array){
        for (int i = 0; i < 20; i++){
            array[i] = 0.5f;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在在另一个方法体中有:

    void mySecondMethod(){
        myMethod(myArray + 10);
    }
Run Code Online (Sandbox Code Playgroud)

这是我没有得到的第二种方法:当你将数组指针和int传递给想要数组指针的参数时,它意味着什么?我只是想加强我的知识,我一直试图搜索它,但没有找到任何信息.

unw*_*ind 7

它只是表示"此数组中第11个元素的地址".

这是指针算法的一个例子,它是C的核心特性(也是C++的核心特征,尽管它可能被认为有点"低级别").

表达式意味着"获取第一个元素的地址myArray,并将10个元素的大小添加到该元素".

它的工作原理与之相同myArray[10],因为索引操作符确实非常适合*(myArray + 10).


abe*_*nky 5

myArray[10]  == *(myArray + 10)

&myArray[10] == myArray + 10
Run Code Online (Sandbox Code Playgroud)