-1
私はC++でコードを作成する方法を始めています。 私はC++プライマープラス(第5版)の本を読んでいて、完全に理解していないサンプルプログラムに出くわしました。基本的には、プログラムはあなたの最後の名前を尋ね、あなたにそれが格納されます場所のアドレスを与える:この機能はどのように機能しますか? char * getname(); C++
#include <iostream>
#include <cstring>
using namespace std;
char* getname();
int main();
{
char* name;
name = getname();
cout << name << " at " << (int*)name << endl;
delete [] name;
name = getname();
cout << name << " at " << (int*)name << endl;
delete [] name;
return 0;
}
char* getname()
{
char temp[80];
cout << "Enter last name: ";
cin >> temp;
char* pn = new char [strlen(temp)+1];
strcpy(pn, temp);
return pn;
}
私はかなり理由のchar *のgetName()関数を取得しない間接参照演算子を必要とします。私は全体的にこのプログラムを理解するのに少し苦労しています。 これは愚かな質問のように出てくる場合は申し訳ありませんが、私はかなり固執しています。それで全部です。ありがとうございました!..
ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –
オペレータ_のうちのどれを見つけるか?長い間逆参照はありません。 –
戻り値の型が 'char'の場合は' * getname() 'ではありません。代わりに、 'getname()'と返り値の型は 'char *'です。詳細については、Googleの "C型宣言"(最初の結果はかなり良いです)。 –