Yggdrasil/가속된씨플플/3장 (rev. 1.1)
입출력 관련 ¶
- streamsize형: <ios> 헤더에 정의되어 있으며, 입출력 라이브러리가 크기를 나타내기 위해 사용하는 타입. 꼭 이걸 쓸 필요는 못 느끼겠는데...
- setprecision(x): <iomanip>에 정의되어 있다. 소수점 표현의 정밀도를 x로 설정. 만약 x가 6이라면, 10.3943나 493.293식으로 총 6자리가 출력. 일단 소수점 이하보단 정수부분이 우선시되며, x가 정수부분의 자릿수보다 작을 땐 e를 써서 표현.(이런 형태를 뭐라고 하더라?)
- cout:
- while(cin>>a): 성안당 C++을 공부하면서 배웠던 부분으로, 불량입력에 대한 예비책. 1학년 때 이거 이해하느라 엄청 고생했음.
vector 사용하기 ¶
- 소스를 그대로 쳐봤는데도 에러가 뜬다. 왜 이렇지?
- 예전에 인수형과 선호형이 만들어 놓은 페이지에 보니 해법이 적혀 있었다. typedef vector<double>::size_type vec_sz를 unsigned int형으로 바꾸면 됨.
- 일단 형태는 배열처럼 벡터이름index의 형태로 접근이 가능하다.
- 선언: vector<data type> 객체이름; 의 형태로 한다. 예>vector<double> abc;
- 메소드들:
- size(): 역시 항목수를 리턴함.
- push_back(x): 인자 x를 새로운 요소로 추가시킴.
- begin(): 첫 항목을 리턴
- end(): 마지막 항목을 리턴
Algorithm에 정의된 함수들 ¶
- sort(a, b): 범위 [a, b)에 정의된 것을 내림차순이 아닌 값으로 정렬되는데, 내림차순이 아니라는 말은 같은 값이 있을 수도 있단 얘기로, 즉, 거의 내림차순이라고 보면 된다. 시간복잡도는 nlog(n)이하.
- max(a, b): 같은 타입의 변수 a, b 중 더 큰 것을 리턴