프로그래밍 패러다임 2
-
C++에서는 함수 오버로딩 을 허용한다. 그러나, 함수 오버로딩을 사용하지 않고도 비슷하게 사용할 수 있는 기능이 있다. 이를 template이라고 한다. 다음은 오버로딩 을 하지 않고도 template를 사용하는 예시이다. C++에서는 오류 검출을 위한 assert를 지원한다. 자세한 설명은 링크를 참조. C++에서는 functional 방식을 지원한다 자세한 설명은 링크를 참조. C++에서는 가변인자 함수 형식을 지원한다. 자세한 설명은 링크를 참조. C++과 C,JAVA등 프로그래밍의 대부분 종류는 POP와 OOP로 구성되어있다. 프로그래밍 패러다임.(Programming Paradigm) 이라고 한다. OOP 프로그래밍은 객체지향적 프로그래밍 이기 때문에 4가지 특징을 가지게 된다. 자세한 설명은..
-
C++에서는 구조체를 선언하고 내부에 함수를 생성해줄 수 있다. 그러나, 구조체는 선언전에 메모리할당이 발생하지 않는다. 그럼으로 함수는 CODE 영역에 메모리가 할당되어 실행되게 되는데. 구조체 안에 함수가 존재하지 않음으로 사실 구조체는 함수를 실행할 수 없다. 구조체 내부에서 함수를 선언하고 실행하는건 다음과 같은 방식을 따른다. Print함수가 구조체 내부에서 선언됨을 볼 수 있다. 그러나, 함수는 구조체 내부에 존재하여도 구조체는 선언 전에 메모리 할당이 일어나지 않음으로 함수 메모리에 존재하나. 실행할 수 없다. 그럼으로 구조체 내부에 존재하는 함수는 __thiscall 을 내부에 붙여서 구조체 내부에서 함수를 다시 호출해준 뒤. 괄호 안에 자신의 구조채를 선언하여 동작하게 된다. 즉, 위에서..