Microsoft MVP성태의 닷넷 이야기
델리게이트와 함수포인터 선언 시, 차이점 질문 있습니다. [링크 복사], [링크+제목 복사],
조회: 13386
글쓴 사람
한예지 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)
4963이대희3/29/201815773UWP 스터디를 위해 찰스페졸드 저자의 Programming Windows 6판은 어떠한지요? [1]
4962포플러3/26/201816256C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [2]
4966포플러3/30/201816246    답변글 [답변]: C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [1]
4961김민욱3/26/201817596레이더 뷰어의 구현 방법(이미지 확대 축소 관련) [2]
4960hurd...3/18/201816417OCX 관련한 질문을 드리고자 합니다. [1]
4959익명3/10/201816503교재 199page 델리게이트와 object를 이용한 범용 정렬 코드 [1]
4957멍멍이2/13/201816615System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/201816218asp.net 질문입니다. [1]
4955웅이2/12/201816771[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201818638FFT Library 사용 [1]
4950ASP열공2/5/201816146asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/201816989    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/201816625        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/201816016            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201817619비동기 질문입니다. [3]파일 다운로드1
494880511/31/201817221C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201816867[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/201816741비동기 TCP통신 데이터 문제 [4]파일 다운로드1
4945김성대1/26/201815127비동기 질문입니다. [1]파일 다운로드1
4944popo1/25/201814333[삭제] 스레드 안에서 Window Visibility 변경시 DialogResult 오류 질문
4943김성대1/22/201815759FromAsync 질문입니다. [1]
4942박현일1/19/201816969WPF 공부중 모르는 문법이 있어서요~^^; [2]
4941김성대1/18/201815428비동기예약어 실행오류관련입니다. [1]
4940plzh...1/10/201816429webbrowser2 를 이용한 sns 로그인 구현 관련 문의 [2]
4939이성일1/4/201818138ClickOnce 배포 후 업데이트 시 발생하는 오류에 대해 질문 드립니다. [2]
4938김성대1/3/201815815채팅 프로그램관련 질문입니다. [9]파일 다운로드1
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...