Programming(219)
-
Ch05. 흐름제어 - 02. switch 문 (자바와 C++이 다른점, 유의점)
switch문에서 자바와 다른점은 switch 문의 () 안에 들어가는 값이 정수형이여야만 한다는 것이다.자바의 경우는 문자열 같은 것이 들어가도 사용이 가능한데 반면 C++에서는 정수형이 아니면 사용이 불가능하다.이렇게 결과를 내는데 반면 이렇게 문자열을 넣는 순간 아예 문법적 에러로 확인한다그렇기 때문에 switch에는 정수로서 인식할 수 있는 타입을 넣어줘야만 한다. # 추가적으로 모든 언어의 switch문의 경우는 동일하겠지만 switch문의 경우 조건에 맞는 case문을 만나면 그 시점부터 break를 만나기 전까지 모든 문장을 실행시킨다.그래서 이렇게 코드를 작성했다면 조건이 맞는 case 'a' 이후부터는 조건을 바라보지 않고 그냥 다 실행시킨다.그래서 보면 이렇게 만들었다면 case 'a'..
2025.03.30 -
Ch05. 흐름제어 - 01. if 문 (자바와 c++이 다른점, 유의점)
c++에서 조금 특이한 부분에 대해서 확인해보자면 C++에서는 조건부 초기화 문법이란게 있는데 이게 뭐냐면 if (~) 안에는 원칙적으로 표현식(expression)이 와야 하지만 예외적으로 if (int num = 1) 처럼 변수 선언과 초기화가 가능하게 해둔 것을 말한다. 그래서 이런 방식의 사용이 가능하다보면 int num = 1 의 결과로 num 자체를 반환하면서 if 의 조건문이 1을 만나면서 true로 내부의 statement를 실행시켜주는 것을 볼 수 있다.그리고 저 num의 경우는 if 문 내부에서만 사용이 가능한 변수로써 사용이 되어 외부에서 num을 접근하려고 한다면이렇게 변수가 선언되지 않았다고 알린다. 추가로 c++ 17 이후 부터는 if (init-statement; 조건식) {..
2025.03.30 -
Ch04. 연산자 - 05. 기타 연산자
지금까지 확인한 연산자 말고 자주 사용하는 연산자에 대해서 확인해보자.일단 자바와 다른 점이 있는 연산자에 대해서만 확인해보려고 한다. 1. 삼항 연산자 - 조건문 ? true 코드 : false 코드사실 삼항 연산자의 사용은 자바나 c++이나 동일한듯 보인다.조건문 ? true일때 실행할 코드 : false일때 실행할 코드이렇게 되는데 이걸 사용할때의 주의점이라고 해야할까 만약 cout을 사용해서 이 결과를 출력한다고 한다면std::cout 와 같이 사용하면서 3항 연산의 결과를 출력할 수 있게 되는데 이런 방식 말고도 조건문 ? (std::cout 와 같이도 사용할 수 있다. 그리고 여기서 추가로 유의 해야할 점은 std::cout 이 방식을 사용한다면 true일때 실행할 코드와 false일때 실행할..
2025.03.30 -
Ch04. 연산자 - 04. 비트 연산자
웹 개발을 하면서 사실 비트연산자를 실무에서 사용하는 경우는 아예 없었다.그런데 요즘 보면 개발 되어 있는 코드에서(물론 비트 연산자가 사용되어 있는지 판단 자체도 못하겠슴 c++로 되어 있는건....아직 숲을 보는 능력은 없어서..) 남이 작성되어 있는 코드를 읽기 위해서는 배워야 할 필요성이 있다고 느낀다.특히 C++이나 C같이 메모리를 직접 조작해서 효율을 높여야만 하는 영역에서는 또 필요한건 맞다고 생각한다. 몇번 배웠는지 모르겠지만 매번 메모리에 대한 개념이 추가되면 머리에서 거부하는 이런 정보들에 대해서 각인이 되어야 한다는 생각에 배웠지만 모르는 것이 대해서 다시 각인시키도록 하자. 우선 C++에서 비트연산자를 왜 봐야만 하는가를 고민해보면 아래와 같은 이유들이 존재할것 같다. 라이브러리나..
2025.03.29 -
Ch 04. 연산자 - 03. 논리 연산자
논리 연산자의 경우는 연산자의 우선순위에 대해서 유의하면서 사용해야한다.추가로 단락 평가(short-circuit evaluation)라는 것에 대해서만 이해하고 있으면 될것 같다. && 연산의 단락 평가(short-circuit evaluation)&&연산은 모든 값이 true일때 true이고 하나의 값이라도 false라면 false를 출력한다. 만약 아래와 같은이런 비교 연산을 한다면 이 부분에서는 true가 나오고 이 부분에서는 false가 나온다 이렇게 하면 && 연산자는 좌, 우항의 결과를 모두 확인하고 결과를 출력한다. 그러나 만약 이렇게 좌항이 false로 떨어지는 경우라면 && 연산자는 우항의 연산을 진행하지 않고 바로 false를 반환한다. 이걸 확인하는 방법으로 먼저 printf의 결과..
2025.03.29 -
Ch 04. 연산자 - 02. 비교&관계 연산자
보호되어 있는 글입니다.
2025.03.29