假设您正在尝试修改数组元素,您只需将指针或引用传递给要修改的数组元素。
示例 1:传递对要操作的元素的引用。
function1(Node &element) {
// operation on element
}
function2() {
Node** array;
// filling the array bla bla bla
function1(array[0][i]);
}
示例 2:传递指向要操作的元素的指针。
function1(Node *element) {
// operation on *element
}
function2() {
Node** array;
// filling the array bla bla bla
function1(*array + i);
}
示例 3:传递指向数组的指针和元素的索引。
function1(Node *array, int i) {
Node *element = array + i;
// operation on *element
}
function2() {
Node** array;
// filling the array bla bla bla
function1(*array, i);
}
示例 4:与示例 3 相同,但使用本地引用。
function1(Node *array, int i) {
Node &element = array[i];
// operation on element
}
function2() {
Node** array;
// filling the array bla bla bla
function1(*array, i);
}
示例 5:与示例 3 相同,但将参数重新用作局部变量。请注意,这仅适用于数组不是参考!你应该避免这种风格。
function1(Node *array, int i) {
array += i;
// operation on *array
}
function2() {
Node** array;
// filling the array bla bla bla
function1(*array, i);
}