👩🏻‍💻 Programming/C++ 14

While문과 EOF

만약 c++에서 while문을 사용하여 변수의 값을 받을 때, 데이터의 갯수가 정해지지 않는다면 어떻게 할까? 별 다른 데이터 갯수의 제한 없이 무한 루프를 사용한다면 자원 활용은 굉장히 비효율적이게 된다. C였다면 EOF를 사용하였을 것이다. C++에서는 간단하게 하기와 같은 로직을 이용하면 된다. #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int a,b = 0; while(cin >> a >> b){ // cin >> a >> b를 작성하면 무한루프가 발생한다. // -1(EOF)를 입력하면 while문을 빠져나오게 된다. // 특정 조건(ex : 0입력시 종료)은 말 그대로 if를..

Cin과 Cout

c++에서 cin과 cout는 입출력 타입을 따로 지정할 필요가 없다. 이 외에도 예외처리가 강하고 기능이 많아서 c++에서는 필수적으로 쓰이는 기능이다. 하지만 scanf, printf보다는 느리다는 단점이 있다. 알고리즘 문제를 풀 경우, 빠르게 연산한 값을 출력하는 것이 관건이므로 시간을 단축시켜야 할 필요가 있다. 백준의 문제를 풀 경우, c언어를 그대로 사용하여 알고리즘 문제를 풀어도 상관은 없다. 만약 c++문법을 그대로 사용하되, scanf나 printf처럼 빠른 계산을 원한다면 하단과 같은 규칙을 갖고 코드를 작성하면 된다. 1. ios_base::sync_with_stdio(false); 2. cin.tie(NULL); 3. endl 대신 "\n" 사용