Microsoft MVP성태의 닷넷 이야기
델리게이트와 함수포인터 선언 시, 차이점 질문 있습니다. [링크 복사], [링크+제목 복사],
조회: 15067
글쓴 사람
한예지 donator
홈페이지
첨부 파일
 

선생님 안녕하세요!

int (*fp)(int, int); // int형 반환값, int형 매개변수 두 개가 있는 함수 포인터 fp 선언

delegate int CompareDelegate(int param1, int param2);

델리게이트 선언 시, C언어의 함수 포인터와 다르게 매개변수명(param1, param2)까지 넣어주는 이유가 따로 있을까요?

생각해보면 A라는 사람이 만든 CompareDelegate에

B라는 사람이 만든 아래 메서드를 CompareDelegate에 대입하는 경우를 생각해보면

int DescendingCompare(int i1, int i2)
{
     if (i1 == i2) return 0;
     return (i1 - i2) > 0 ? 1 : -1;
}

매개변수의 타입과 리턴 타입만 필요한 것 같은데...

굳이 사용하지 않는 변수명까지 델리게이트 선언 시 넣어주는 이유가 궁금합니다.

항상 답변해 주셔서 감사합니다!








[최초 등록일: ]
[최종 수정일: 5/21/2022]


비밀번호

댓글 작성자
 



2022-05-22 12시24분
[Bigsquare] Semantics의 문제 아닐까요?

식별자로만 의미를 부여하겠다면, Func<int, int, int> CompareDelegate;
매개변수까지 의미를 부여하겠다면, delegate int CompareDelegate(int oldRecord, int newRecord);
[guest]
2022-05-23 09시04분
부가 설명을 하면, delegate를 쉽게 설명해서 C/C++의 함수 포인터와 비교를 하지만 엄밀히는 내부적으로 class 정의처럼 다룹니다. 게다가 C# 9.0부터 제대로 된 함수 포인터와 유사한 문법이 추가되었기 때문에,

C# 9.0 - (6) 함수 포인터(Function pointers)
; https://www.sysnet.pe.kr/2/0/12374

이와 비교하면 C#의 함수 포인터도 매개 변수명을 생략하는 식입니다.
정성태
2022-05-30 06시02분
[한예지] 두 분 모두 답변 감사드립니다!
[guest]

... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4965이대희3/30/201816535자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다. [3]
4969이대희3/31/201817400    답변글 [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다.파일 다운로드2
4970이대희4/1/201816476        답변글 [답변]: [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다. [1]
4963이대희3/29/201816489UWP 스터디를 위해 찰스페졸드 저자의 Programming Windows 6판은 어떠한지요? [1]
4962포플러3/26/201817313C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [2]
4966포플러3/30/201817498    답변글 [답변]: C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [1]
4961김민욱3/26/201818984레이더 뷰어의 구현 방법(이미지 확대 축소 관련) [2]
4960hurd...3/18/201817487OCX 관련한 질문을 드리고자 합니다. [1]
4959익명3/10/201817949교재 199page 델리게이트와 object를 이용한 범용 정렬 코드 [1]
4957멍멍이2/13/201817972System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/201817781asp.net 질문입니다. [1]
4955웅이2/12/201818423[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201820181FFT Library 사용 [1]
4950ASP열공2/5/201817780asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/201817796    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/201818217        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/201817558            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201819211비동기 질문입니다. [3]파일 다운로드1
494880511/31/201818691C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201818078[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/201818087비동기 TCP통신 데이터 문제 [4]파일 다운로드1
4945김성대1/26/201816409비동기 질문입니다. [1]파일 다운로드1
4944popo1/25/201815601[삭제] 스레드 안에서 Window Visibility 변경시 DialogResult 오류 질문
4943김성대1/22/201817051FromAsync 질문입니다. [1]
4942박현일1/19/201818069WPF 공부중 모르는 문법이 있어서요~^^; [2]
4941김성대1/18/201816780비동기예약어 실행오류관련입니다. [1]
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...