U E D R , A S I H C RSS

Yggdrasil/가��씨플플/4장

4장

  • 장ì�˜ 제목 그대로ì�˜ ë‚´ìš©ì�´ë‹¤. 프로그램ì�˜ 구조화(함수)와 ë�°ì�´í„°ì�˜ 구조화(구조체) 등등ì�„ 설명하고 있다.

함수

  • 전달ì�¸ìž�(여기서는 ë°°ì—´)를 ê°’ì—� ì�˜í•œ 전달/참조ì—� ì�˜í•œ 전달ì�„ ì �절히 사용해야 한다. ì›�래 ê°’ì�„ 보호해야 하는 경우ë�¼ë©´ ê°’ì—� ì�˜í•´ì„œ, ì›�래 ê°’ì�„ 바꿔야하는 경우ë�¼ë©´ 참조ì—� ì�˜í•´ 전달한다.
  • ê°’ì—� ì�˜í•œ 전달ì�€ 전달ì�¸ìž�ê°’ì�„ 다른 ê³³ì—� 복사를 해줘서 전달하기ì—� 실제 ë�°ì�´í„°ëŠ” 변경ë�˜ì§€ 않는다. 복사ì—� 시간, 메모리 소요.
  • 참조ì—� ì�˜í•œ 전달ì�€ ê·¸ 전달ì�¸ìž�ì�˜ 별명(?)ì�„ 넘겨준다. 즉 ê·¸ 변수 ìž�체를 넘겨주는 것ì�´ë‚˜ 다름없다. 즉, 함수 ë‚´ì—�서 ê·¸ 전달ì�¸ìž�로 전달ë�œ 변수가 바뀌면 ì›�래ì�˜ ê°’ì—�ë�„ 변화가 온다. 그래서 ì �절히 const로 ê°’ì�´ 바뀌지 않ë�„ë¡� 제한해주는 것ë�„ 좋다. 복사를 안 하므로 오버헤드를 줄ì�¼ 수 있ì�Œ.
    • 1학년 1학기 텀프로ì �트를 할때, 성ì �ì •ë ¬ 프로그램ì—�서 정렬로 순서가 ì „ë¶€ 바뀌어버려서, 루프문ì�˜ ë��ì—�서 ì „ë¶€ 다 초기화했ë�˜ 기억ì�´ 난다. ì�´ë•Œ 전달ì�¸ìž�ì—� 전달 ë°©ì‹�ì�„ 제대로 ì�´í•´í•˜ê³  활용했다면 편했ì�„ 것ì�„.

구조체

  • 구조체 만드는 법ì�€ 다 알고 있으니 넘어가고, sort()ì—� 전달ì�¸ìž�로 구조체를 넘겨주게 ë�˜ë©´, ì–´ë–¤ 기준으로 정렬할 것ì�¸ì§€ 알 수가 없다. 그래서 3번째 전달ì�¸ìž�를 사용할 수 있다. 즉,

~cpp 
sort(students.begin(), students.end(), compare);
  • ì�´ë ‡ê²Œ 사용하고, compareì�˜ ì •ì�˜ë¶€ëŠ”,

~cpp 
bool compare(const Student_info& x, const Student_info& y)
{
	return x.name<y.name;
}
��, compare는 함수�� 괄호는 쓰지 않는다. 괄호를 쓸 경우 그 ��까지 알아서 �줘야할 것 같��, sort� 정확한 구조를 잘 모르는 나�� 좀 벅찬 방법�다. 하여튼 괄호는 쓰지 않는다.
compare 함수 ��터를 넘겨주면 students vector(�는 list)내�서 값� 꺼낸다. Student_info 형� 나오겠지 그 것들� compare 함수� 넘겨주는 거다. --�수
  • 4.3장부터는 여러 í—¤ë�”파ì�¼ê³¼ 소스파ì�¼ë¡œ 분리해놓고 있다.

�외 처리

  • try{}catch(a){}: try{} 블ë¡�ì�„ 실행하다가 예외ìƒ�황ì�´ ë°œìƒ�하면 catch{} 블ë¡�ì�„ 실행한다.
  • throw로 예외 ìƒ�황ì�´ ë°œìƒ�ë�˜ì—ˆë‹¤ëŠ” 것ì�„ 알린다. 예외 í�´ëž˜ìŠ¤ì—” 여러개가 있으며, ìƒ�성ìž�로 문ìž�ì—´ì�„ ì§‘ì–´ ë„£ì�„ 수 있고, ì�´ê±´ ì�¼ë°˜ì �으로 ìœë ¥ì�´ 안ë�˜ì§€ë§Œ, what()함수로 확ì�¸ 가능.

String �래스

  • 사전순 정리: <와 >로 비êµ�ê°€ ë�˜ëŠ” 거였다! 문ìž�ë�¼ë¦° ë�˜ëŠ”ì¤„ 알았지만 문ìž�ì—´ë�„ í•  수 있는 거구나...
  • width(n) 메소드: ì�´ì „ì�˜ ë„“ì�´ë¥¼ 리턴하며, nì�´ 현재보다 í�´ 경우 나머지 칸ì—� 공백ì�„ 넣는다. nì�´ 0ì�´ë©´ ë„“ì�´ 리셋.

기타

  • max()ë�¼ëŠ” 함수가 ì�˜ì‹¬ìŠ¤ëŸ½ë‹¤. 분명 msdnì—�ë�„ algorithmí—¤ë�”ì—� 있다고 했는ë�° 컴파ì�¼í•˜ë©´ ìž�꾸 ì •ì�˜ë�˜ì§€ 않ì�€ ì�´ë¦„ì�´ë�¼ ì—�러를 뱉어낸다. ì�´ 함수ì�˜ 정체는?

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:29
Processing time 0.0059 sec