Programming(109)
-
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 -
Ch 04. 연산자 - 01. 산술 연산자 사용의 주의점
기본적인 내용은 모든 언어에서 비슷하기에 주의 해야할 점과 키워드를 보고 넘어가자. 주의점이런 코드가 있다고 한다면 각 위치별로 결과를 예상했을때 이런 식으로 출력될것을 기대했다.실행시켜보면결과가 예상과 다르게 출력되는 부분이 있다.왜 그럴까? 인터넷에 C++ shell로 검색해서https://cpp.sh/ C++ Shell cpp.sh코드를 복사해온 다음에 여기 삽입해서 실행해보면이 결과는 우리가 예상한 대로 된 것을 볼 수 있다.근데 잘 보면 한 표현식 안에서 같은 변수를 순서없이 여러번 수정했다! 라고 경고를 표출시켜준다.음..? 우리가 따로 순서를 지정해줘야하나..? 라고 생각이 든다. 근데 확인해보면 이 부분 처럼 하나의 변수에 대한 두가지 수정이 동시에 일어난다면 C++에서는 수행의 순서가 정..
2025.03.29