CPP 4

Cpp 함수 (C++11 lambda, std::function)

C++11에 추가된 람다와 function wrapper는 Cpp에서도 함수형 프로그래밍이 어느정도 가능하게 해줬다. (그럼에도 Cpp는 기본적으로 객체지향 프로그래밍 + performance에 최적화 되어있다고 보아야 한다. + DOP를 더한 정도?) 아무튼 함수를 object/variable 처럼 다루기 편해짐. Function Object 함수형 프로그래밍의 시작은 함수를 변수처럼 다룰 수 있어야 한다는 것이다. 기존(C++11이전의) Cpp에서는 함수 오브젝트를 사용했는데 대충 다음과 같다. #include using namespace std; class Plus { public: explicit Plus(int val) : local_val_{val} {} int operator() (int x..

언어/C++ 2021.07.31

Cpp - 상속#2

2021.07.18 - [언어/C++] - Cpp - 상속#1 Cpp - 상속#1 기본적인 내용은 안 씀. 상속 상속은 왜 쓸까? 클래스 간의 관계 : 동물 -> 고양이 사람.. 코드 재사용 : 동물은 잠을 자.. 그럼 고양이 사람도 다 잠을 자 일관적인 클래스 인터페이스 (class interface tsyang.tistory.com Object Slicing 오브젝트 슬라이싱은 Cpp 상속에서 발생하는 문제이다. using namespace std; class Animal { public : void virtual Speak() { cout

언어/C++ 2021.07.22