Nagie's DevStory

[CPP] 04. cin과 scanf의 차이 본문

Programming/C++

[CPP] 04. cin과 scanf의 차이

Nagie 2023. 10. 19. 21:35
728x90

 

//C++

short nSelectType = 0;

std::cin >> nSelectType;


//C

short nSelectType = 0;

scanf_s("%d",&nSelectType);

 

cin은 C++에서 입력을 위해 사용되는 객체다.

입력받는 값에 대해 타입 안전성(type safety)을 제공하며

cin을 사용할 때 데이터 형식을 자동으로 변환하고 유효하지 않은 입력을 처리하는 기능이 내장되어 있다.

또한 scanf와는 다르게 타입 형식에 대한 서식 지정자를 사용하지 않는다.

 

printf는 C에서 입력을 위해 사용되는 함수다.

입력받는 값에 대해 cin과 다르게 타입 안전성(type safety)을 제공하지 않으며

프로그래머가 직접 서식 지정자에 따라 데이터를 읽고 변환시켜야 한다.

 

이 둘 역시 앞에 설명했던 cout과 printf처럼 속도 차이가 있으며 C++에서 반응 속도를 올리는 방법 또한 동일하다.

속도 차이가 나는 이유가 명확한 것이 그만큼 안전성 확보를 위해 많은 기능이 많이 들어가서 그렇다.

차로 비교하자면 SUV와 경주를 위해 극한의 경량화를 시켜놓은 깡통 랠리카를 비교하는 느낌이 들 정도다.

728x90
Comments