◆소숫점 반올림 cout (int형)n 으로 사용자가 수를 입력하는 대신 문자를 입력한다면, 4 가지 일이 발생한다. n의 값은 변하지 않는다. 입력 큐에 잘못된 입력이 그대로 유지된다. cin 객체의 에러 플레그가 설정된다. cin 메서드 호출이 false(bool형으로 변환된다면)를 리턴한다. ●이를 해결 하기 위해 세 단계를 거쳐야 한다. 새로운 입력을 받아들일 수 있도록 cin을 초기화한다. //cin.clear() 입력 큐에 남아 있는 불량 입력을 제거한다. //while(cin.get() != '\n') continue; 사용자에게 다시 입력할 것을 요구한다. ◆콘솔 입력 iostream 헤더 파일을 포함시켜야 한다. iostream 헤더 파일은 입력을 처리하는 istream 클래스를 정의한다..
●a = b = c = 0; 이 가능하다. (단 우선순위를 신경써야 한다.) ◆부수 효과와 시퀀스 포인트 부수 효과(side effect)는, 수식을 평가할 때 변수에 저장되어 있는 값과 같은 것이 변경될 때 일어나는 효과이다. (++) 시퀸스 포인트는 프로그램의 실행이 다음 단계로 넘어가기 전에 모든 부수 효과들이 확실하게 평가되는 포인트이다. (;) 완전 수식은 더 커다란 수식의 부분 수식이 아닌 수식을 말한다. 수식 구문의 수식 부분과 while 루프의 검사 조건으로 사용된 수식은 완전 수식의 예에 포함된다. 접미,접두어 연산자는 시퀸스 포인트에서의 작동은 보장하지만, 부수 효과시점에서의 작동은 보장하지 않는다. int main(){ int x=0; int y=(4 + x++) + ( 6 + x++..
◆람다함수 ▷람다 함수는 익명 함수라고 불리고 함수를 변수처럼 취급하기 위한 테크닉으로 주로 쓰인다. ◆#include ▷이 헤더가 없어도 람다는 사용할 수 있지만 편리한 std::function을 사용하기 위해 작성합니다. ◆lambda 함수의 구조 ▷[캡쳐](파라미터)->리턴형식{ ... } ▷캡쳐는 =을 사용하기로 합니다. (전체 레퍼런스 캡쳐) //foo 뒤의 부분이 람다함수이다. std::function foo = [=]() { printf("Hellow world"); }; ◆std::function ▷람다함수는 std::function을 통해 변수처럼 선언할 수 있습니다. ▷함수의 반환값과 파라미터를 T 부분에 와 같이 작성합니다. std::function sum = [=](int value..