C++에서는 lambda를 이용해 익명 메서드를 구현 할 수 있고 C#에서는 delegate를 이용해 익명 메서드를 구현 할 수 있다.
- lambda로 구현된 익명 메서드(C++)는 컴파일 시 해당 메서드가 인라인화되어 해당 코드로 치환된다. (함수 호출 시 소모되는 비용을 절약할 수 있게됨)
- delegate로 구현된 익명 메서드(C#)는 컴파일 시 중복되지 않을 특별한 문자열의 이름을 가지는 메서드가 생성 되어 해당 메서드를 호출 하는 식으로 코드가 치환된다.
따라서 delegate로 구현된 익명 메서드는 간편 표기 구문에 불과하며 성능상 이점은 없어 보인다.
'개발 > C#' 카테고리의 다른 글
Boxing UnBoxing (0) | 2015.10.06 |
---|