프로그래밍 700
-
C++11 부터 람다식 함수 사용방법을 지원한다. 이는, 익명 함수를 생성하는 방법 중 하나로, 람다식 함수는 이름이 없는 함수 객체를 생서아형, 함수처럼 호출 할 수 있다. 람다식 함수는 함수 내부에서 선언되며, 접속할 수 있는 이름이 존재하지 않고 함수 내부에 선언되기 때문에 이를 변수에 할당하거나, 다른 함수에 전달할 수 없다. 람다식 함수의 기본 문법은 다음과 같다. 여기서 capture list 가 잘 이해가 가지 않을 수 있는데, capture list는 다음과 같은 방법을 따른다. [ ] : 모든 변수를 캡처하지 않는다. [변수1, 변수2, ... ] : 지정된 변수만 캡처한다. [&] : 참조에 의한 캡처를 수행한다. [=] : 복사에 의한 캡처를 수행한다. [&, 변수1, 변수2, .....
-
https://learn.microsoft.com/ko-kr/cpp/standard-library/algorithm?view=msvc-170 자세한 정보: learn.microsoft.com 표준적인 C++라이브러리의 일부분으로, 다양한 알고리즘 함수를 기본제공해준다. 이러한 함수들은 다양한 상황에서 사용가능한 함수들로 이루어져 있으며 이중참조 포인터 배열을 기본으로 컨테이너와 반복자를 이용하여 작동하게 된다. 대부분 알고리즘 라이브러리는 다음과 같은 과정으로 사용된다. 알고리즘 함수를 호출하여 컨테이너 요소를 조작한다. 필요한 경우 반복자를 제공하여 요소를 선택한다. 알고리즘 함수의 결과를 적용하여 원래 컨테이너를 수정한다. 이러한 라이브러리 함수를 잘 활용하면 코드를 작성할 때 매우 편하게 작성할 수..
-
-
C++에서는 Class 내부의 private 멤버에 대한 접근허용을 위해 다른 클래스 나 함수가 접근할 수 있도록 Friend 선언을 허용한다. Friend선언을 사용하면, Pirvate 멤버에 대한 접근 제어를 우회하여, 다른 클래스나 함수에서 해당 멤버를 직접 접근할 수 있다. Friend 선언은 다음과 같은 상황에서 사용된다. 두개 이상의 클래스가 서로의 private 멤버에 접근해야 할 때 특정 함수가 클래스의 private 멤버에 접근해야 할 때 특정 클래스의 인스턴스를 생성해야 할 경우 다른 클래스의 private 멤버를 초기화해야할 때. Friend 선언은 다음과 같다. 그러나, 이러한 방법으로 전역함수 취급되어 사용하는것 보다는, 각 지정한 Class에 friend선언하여, 해당 class..
-
C++의 클레스에서 static 변수는 선언시 부터 전역번수로 취급된다. 일반적으로 class에서 변수가 선언되면 변수는 class가 선언되기 전 까지 메모리에 할당이 안된다. 그러나, 그 내부에서 변수를 static 선언하여. 전역변수 취급으로 선언할 경우 메모리 내부에 해당 static 변수의 영역 할당이 이루어진 다음 class 선언이 이루어지고 할당된 영역을 사용하게 된다. 이는. static 이 전역처리되어. 모든 영역에서 사용이 가능해야 하기 때문에, 미리 데이터 영역을 할당하여 권한 문제가 발생하지 않도록 하기 위함이다. 다음 코드 예시로부터 살펴보자. 위 코드에서. class 내부의 static과 static const 가 선언되어 있는 12번째 변수와 15번째 변수를 확인할 수 있다. s..
-
디자인 패턴은 소프트웨어 공학에서 재사용 가능한 문제 해결 방법을 말하는 것으로, 특정한 상황에서 해결이 어려운 문제를 다양한 상황에서 적용할 수 있는 효율적인 해결책을 제공하는 방법이다. 디자인 패턴은 일반적인 문제 해결방법 임으로, 특정한 프로그래밍 언어나 플랫폼에 종속되지 않는다. 디자인 패턴은 크게 생성패턴, 구조패턴, 행동패턴 으로 나눌 수 있다. 각각의 패턴은 특정한 상황에서 효율적인 해결책을 제공한다. 생성패턴 생성 패턴은 객체를 생성하는 방법과 관련된 패턴으로, 객체를 생성하고 조합하는 방법에 대한 문제를 해결하는데 사용된다. 객체 생성과 관련된 문제를 추상화하여, 코드의 재사용성과 유지보수성을 높인다. 구조패턴 구조 패턴은 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴이다. 클래스와 ..