在C++中,可以通過將指針作為參數傳遞給函數來傳遞二級指針。二級指針是指向指針的指針,也稱為指向指針的指針。當傳遞二級指針給函數時,需要將指針的地址傳遞給函數,以便在函數中對指針進行修改。
以下是一個示例代碼,演示如何傳遞二級指針給函數:
#include <iostream>
void modifyPointer(int** ptr) {
int value = 10;
*ptr = &value;
}
int main() {
int* ptr = nullptr;
modifyPointer(&ptr);
if(ptr != nullptr) {
std::cout << "The value pointed to by the pointer is: " << *ptr << std::endl;
} else {
std::cout << "Pointer is null" << std::endl;
}
return 0;
}
在上面的代碼中,modifyPointer
函數接受一個int**
類型的參數,表示一個指向指針的指針。在main
函數中,我們聲明了一個指針ptr
并將其地址傳遞給modifyPointer
函數。在modifyPointer
函數中,我們將一個整數值的地址賦值給指針ptr
,從而修改了指針的指向。
當我們運行上面的代碼時,輸出結果應該是:
The value pointed to by the pointer is: 10
這表明我們成功地傳遞了二級指針并修改了指針的指向。