関数に合格するユーザー定義タイプは、Cの値による呼び出しですか?
質問
私は構造体を持っていて、この構造体を渡して機能します。多分関数のプロティプは次のとおりです。
typedef struct
{
//Bla Bla
} ABC;
void func(ABC abc)
{
}
この関数呼び出しは、値による呼び出しまたは紹介による呼び出しですか?誰かが「Cにはコピーコンストラクターがないため、ユーザー定義の種類を値で渡すことができない」と言う。このアイデアは正しいですか?
解決
値で呼び出します。 Cは いつも 値で呼び出します。
(Cはコピーコンストラクターを持っていませんが、元の構造を初期イザーとして2番目の構造を作成することで構造をコピーできます。関数パラメーターは、引数として渡す値で初期化されます。これは職場で同じメカニズムです。)
所属していません StackOverflow