프로그래밍 공부

C++ 26

카테고리 설명
  • C++에서는 smart_pointer이라는 기법을 활용하여 더 쉽고 간단하게 동적배열 선언 등 다양한 방법으로 사용이 가능하다. smart_pointer를 사용하면 new를 생성해주어도, 어떠한 함수 내부에서 종료되었을 때, 종료자가 스스로를 delete해주기 때문에, 따로 delete해줄 필요가 없어진다. 그럼으로 더 쉽고 간단하게 동적데이터 선언이 가능해진다. 다음은 코드 예시이다. #include class ptr { int x; int y; public: ptr(const int x, const int y) : x(x), y(y) {} auto Get_x() -> const int { return x; } auto Get_y() -> const int { return y; } friend ptr&..

  • C++에서 operator을 활용하여 비교연산자를 오버로딩하고, 이를 활용해서 Class 안에 있는 모든 변수를 비교연산 해줄 수 있다. 보통, 비교연산을 위한 변수가 한개이거나, 모든 변수를 전부 비교해야 할 경우 사용하고, 여러개의 변수를 가지는 Class가 존재하고, 그 변수들 중 한개의 변수만 비교연산이 필요하다면, 그럴때 에는 operator의 사용을 권장하지 않는다. 비교연산자 같은 연산자 오버로딩 방식은, 어떠한 변수나 Class의 전체를 비교하거나 연산하는 방식으로 동작해야 하기 때문에 설계방식에서 벗어나기 때문이다. 다음은 비교연산자를 오버로딩하여 만든 코드 예시이다. 위 코드에서, 연산자 오버로딩을 활용하여 비교연산을 해줄 수 있는것을 볼 수 있다. 값의 변환을 유도하지 않기 때문에, ..

  • https://learn.microsoft.com/ko-kr/cpp/standard-library/algorithm?view=msvc-170 자세한 정보: learn.microsoft.com 표준적인 C++라이브러리의 일부분으로, 다양한 알고리즘 함수를 기본제공해준다. 이러한 함수들은 다양한 상황에서 사용가능한 함수들로 이루어져 있으며 이중참조 포인터 배열을 기본으로 컨테이너와 반복자를 이용하여 작동하게 된다. 대부분 알고리즘 라이브러리는 다음과 같은 과정으로 사용된다. 알고리즘 함수를 호출하여 컨테이너 요소를 조작한다. 필요한 경우 반복자를 제공하여 요소를 선택한다. 알고리즘 함수의 결과를 적용하여 원래 컨테이너를 수정한다. 이러한 라이브러리 함수를 잘 활용하면 코드를 작성할 때 매우 편하게 작성할 수..

  • 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..