検討:
1.
int one=1;
void func(int* ptr)
{
ptr=&one;
}
int main() {
int nvar=2;
int* pvar=&nvar;
func(pvar);
std::cout<<*pvar<<std::endl;
return0
};
pvar のコピーが正しく作成されるため、2 が出力されますか?
2.
void func(int*& ptr)
{
ptr=&one;
}
ポインターの参照が渡されているため、出力は 1 になります。すべて正常です。
3.
int one=1;
void func(int** ptr)
{
*ptr=&one;
//or **ptr=one;
}
int main()
{
int nvar=2;
int* pvar=&nvar;
func(&pvar);
std::cout<<*pvar<<std::endl;
出力 1
正直なところ、 3番目の例が何であるかがわからないため、より適切な質問のタイトルを詳しく説明できませんでした.