-
C++) 함수 포인터C++ 2022. 11. 22. 18:27
https://www.inflearn.com/course/following-c-plus/dashboard
홍정모의 따라하며 배우는 C++ - 인프런 | 강의
만약 C++를 쉽게 배울 수 있다면 배우지 않을 이유가 있을까요? 성공한 프로그래머로써의 경력을 꿈꾸지만 지금은 당장 하루하루 마음이 초조할 뿐인 입문자 분들을 돕기 위해 친절하고 자세하
www.inflearn.com
// 함수 포인터 #include <iostream> #include <array> #include <functional> using namespace std; int func() { return 5; } int goo() { return 10; } bool isEven(const int& number) { if (number % 2 == 0) return true; else return false; } bool isOdd(const int& number) { if (number % 2 == 1) return true; else return false; } //typedef bool(*check_fcn_t)(const int&); using check_fcn_t = function<bool(const int&)>; void printNumbers(const array<int, 10>& my_arr, check_fcn_t check = isEven) { for (int num : my_arr) { if (check(num)) cout << num << " "; } cout << endl; } int main() { // 함수도 메모리 주소를 가진다 cout << func << " " << func() << endl; // 함수의 포인터 선언 int(*fcptr)() = func; cout << fcptr() << endl; fcptr = goo; cout << fcptr() << endl; array<int, 10> my_arr{ 0,1,2,3,4,5,6,7,8,9 }; check_fcn_t fcnptr; printNumbers(my_arr); fcnptr = isOdd; printNumbers(my_arr, fcnptr); return 0; }
출력 결과 'C++' 카테고리의 다른 글
C++) destructor (1) 2022.11.23 C++) 클래스 (0) 2022.11.23 C++) 인수 전달 방법 (0) 2022.11.22 C++) std::array, vector (0) 2022.11.22 C++) 다중 포인터와 동적 다차원 배열 (0) 2022.11.22