関数に合格するユーザー定義タイプは、Cの値による呼び出しですか?

StackOverflow https://stackoverflow.com/questions/4184248

  •  10-10-2019
  •  | 
  •  

質問

私は構造体を持っていて、この構造体を渡して機能します。多分関数のプロティプは次のとおりです。

typedef struct
{
    //Bla Bla
} ABC;

void func(ABC abc)
{

}

この関数呼び出しは、値による呼び出しまたは紹介による呼び出しですか?誰かが「Cにはコピーコンストラクターがないため、ユーザー定義の種類を値で渡すことができない」と言う。このアイデアは正しいですか?

役に立ちましたか?

解決

値で呼び出します。 Cは いつも 値で呼び出します。

(Cはコピーコンストラクターを持っていませんが、元の構造を初期イザーとして2番目の構造を作成することで構造をコピーできます。関数パラメーターは、引数として渡す値で初期化されます。これは職場で同じメカニズムです。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top