본문 바로가기

C++라이브러리

(2)
[C++] <random> 라이브러리 (난수 생성) C 스타일의 난수 생성의 문제점 아래는 C 스타일로 0부터 99까지의 난수를 생성하는 코드이다. #include #include #include int main(){ srand(time(NULL)); for(int i = 0; i < 5; i++){ print("난수 : %d \n", rand() % 100); } return 0; } 위 코드는 진짜 난수를 생성하는 것이 아니라 마치 난수처럼 보이는 의사 난수(pseudo random number)을 생성하는 코드이다. 첫 번째 수만 무작위로 정하고, 나머지 수들은 그 수를 기반으로 여러가지 수학적 방법을 통해서 난수처럼 보이지만 실제로는 무작위로 생성된 것이 아닌 수열들을 만들어내게 된다. 무작위로 정해진 첫 번째 수를 시드(seed)라고 부르는데, ..
[C++] <string> 라이브러리 C++에서 문자열을 다룰 수 있는 두 가지 방법 - C-string C언어에서 사용해오던 문자열로, '/0'으로 끝나는 char 타입의 배열을 취급하는 방법이다. char s[100]; scanf("%s", s); - string 클래스 C++ 표준 라이브러리에서 제공하는 클래스로 문자열의 끝에 '/0' 문자가 들어가지 않으며, 문자열의 크기를 동적으로 변경 가능하다. string str = ""; getline(cin, str); cout n; cin.ignore(); getline(cin, str); cin.ingore()가 입력 버퍼의 모든 내용을 제거해주어 getline()이 정상적으로 동작할 수 있다. string 클래스 생성 먼저 헤더 파일을 추가해주어야 한다. #include string을 ..