Programming Language(143)
-
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 -
Ch 03. 입출력 - 03. cin
cin은 C++에서 표준 입력을 처리하는 객체로, 콘솔로 부터 데이터를 받아오는 역할을 한다.std::istream 클래스의 전역 객체로 C++의 표준 라이브러리인 에 정의되어 있다.cin의 뜻은 Character Input으로 보통 키보드의 입력 값을 받아온다. cout과는 반대로 > 연산자를 사용하고 값을 넣어주는 용도이기에 보통 변수를 이용해서 값을 넣어준다.이렇게 넣어주면 값을 터미널에서 커서가 깜빡거리면서 입력을 요구하고 값을 넣어주면 a에 값이 들어가면서 이렇게 입력한 값을 출력해준다.scanf에서는(C언어에서) & 연산자를 넣어서 해당 변수의 주소값을 직접 전달해줘야만 외부의 변수인 a 값을 scanf함수내에서 넣어줄 수 있기 때문인데 C++에서는 참조라는 것을 사용해서 인자를 전달하면 밖의..
2025.03.29 -
Ch 03. 입출력 - 03. cout
cout은 C++의 표준 입출력 스트림으로, 콘솔에 데이터를 출력할 때 사용하는 도구이다.기본적으로는 prinft보다는 객체지향적이며, 타입 안정성과 확정성이 뛰어난 방식이다.이제 cout에 대해서 살펴 보도록 하자. 1. 타입의 구분 없이 사용이 가능한 cout기존에 printf의 경우는 형식 지정자를 사용해서 어떤 형식인지를 지정하고 그에 맞는 데이터를 전달해줘야만 했었다.그러나 cout의 경우는 어떤 데이터를 전달하냐에 따라서 알아서 그 타입을 확인하고 그 타입에 맞게 값을 출력해준다.이렇게 정수를 입력해도, 문자를 입력해도 따로 설정하지 않더라도 해당 값을 출력해준다.물론 해당 값은 순서대로 정수, 문자열의 형태로 출력이 되었을 것이다. 이렇게가 가능한 이유는 cout은 받는 타입에 대비해서 그 ..
2025.03.26