だから私はC++に慣れようとしています。そして、これがポインタの使用法を実行することになっているタスクです。方法は次のとおりです。
ユーザーに自分の名前と名前を2つの別々の値として入力するように求める関数を記述します。この関数は、追加のポインターを介して両方の値を呼び出し元に返す必要があります。呼び出し元が名前のNULLポインターを渡した場合にのみ、名前の入力を求めるプロンプトが表示されます。
私はいくつかのバージョンを試しました。私が今立ち往生しているのは:
#include <iostream>
#include <string>
using namespace std;
void getFullName(string *p_first, string *p_last) {
cout << "First name:";
getline(cin, *p_first);
if (!p_last) {
cout << "Last name:";
getline(cin, *p_last);
}
}
int main() {
string first;
string *p_first = &first;
string *p_last = NULL;
getFullName(p_first, p_last);
cout << *p_first << endl << *p_last << endl;
return 0;
}
まあ、それはクラッシュします。そして、私は「最後」への参照を渡して、それを指すようにしました。しかし、関数を終了した後、ポインタは再びNULLになります。