C++/모두의코드

10.3

러비코스믹 2025. 3. 3. 17:03

std::set  

  > 내부적으로 정렬된 상태를 유지

     > 비교 연산(<, >, == 등)이 가능 해야함

 

std::ostream& operator<<(std::ostream& o, const Todo& td) {
  o << "[ 중요도: " << td.priority << "] " << td.job_desc;
  return

std::ostream& > 출력 스트림(std::cout)을 반환

Todo 객체를 받음

 

std::cout << t << std::endl;

 

1. o == std::cout << td.priority << td.job_desc;

       > [중요도: X] Y

2. std::cout << std::end1;

 

주의!

bool operator<(const Todo& t) const {
  if (priority == t.priority) {
    return job_desc < t.job_desc;
  }
  return priority > t.priority;
}

  A==B 와 같은 식으로 할시

if) A==B 라고 하면

       : A>B : false , A<B : false 

       : A==B 이므로 같다고 처리함

  > A(1, "안녕"), B(1,"잘가") > 서로 다름에도 불구

 

 

알고리즘 라이브러리

 

서술자 (Predicate): 특정한 조건 

   > bool 을 리턴하는 함수객체

std::remove_if(vec.begin(), vec.end(), is_odd())

  > is_odd() 처럼 함수 객체 전달

struct is_odd {
  bool operator()(const int& i) { return i % 2 == 1; }
};

 

 

람다함수

[capture list] (받는 인자) -> 리턴 타입 { 함수 본체 }

 

  • [] : 캡쳐 x
  • [&a, b] : a : 레퍼런스, b: (cons) 복사본으로 캡쳐
  • [&] : 외부의 모든 변수들 > 레퍼런스
  • [=] : 외부의 모든 변수들 > 복사본

클래스 내부에서의 변수 : 객체종속 멤버변수 > 참조 X

  > [this] 로 받아옴

     > this->변수명

 

원소수정 (Transform)

 

transform (시작 반복자, 끝 반복자, 결과를 저장할 컨테이너의 시작 반복자, Pred)

 

시작 == 결과저장 시작 : 덮어쓰기 

  // 공간 여유에 주의

 

원소탐색

find : 원소값 

find_if : 참인 원소

+ any_of, all_of

'C++ > 모두의코드' 카테고리의 다른 글

10장  (0) 2025.02.18
9장  (0) 2025.02.12
8-1 장  (0) 2025.02.09
7장  (0) 2025.02.04
6장  (0) 2025.02.02