본문 바로가기
패스트캠퍼스 챌린지(C++ 올인원)

패스트캠퍼스 챌린지 25일차

by 승욱은 2021. 11. 25.

생각해보니 이제 4일밖에 안 남았다..! 오오..! 좋아 좋아 ㅎㅎ 아직 강의는 좀 많이 남아있긴 하지만 ㅠㅠ 그래도 갓 생살기 성공까지 얼마 안 남았다..! 파이팅!

 

오늘 일어나서 한 것은 바로 큰 수와의 전쟁이었다..! c++로 꼭 풀어보고 싶은 문제가 있었고 그것은 "큰 수의 곱셈"이었다. 큰 수의 곱셈은 길이가 너무 길기에, 하나의 변수에 담을 수 없고, 무식하게 반복문을 돌릴 수도 없다..! 따라서 특별한 알고리즘이 필요하고, 이 문제 같은 경우에는 고속 푸리에 변환(FFT)이 필요하다. 다만 FFT를 잘 이해를 못 하겠다.. ㅠ 적절하게 정리되어 있는 자료를 받아서 제대로 공부할 수 있으면 좋겠는데.. 강의도 딱히 없고.. ㅠ 어떻게 공부를 해야 할지 잘 감이 안 온다. 결국 큰 수와의 전쟁은 패전. 다음을 기약하기로 했다.

 

그러고 나서는 배열의 힘, 쓰레기 슈트와 같은 문제를 풀어버리고, 수열과 쿼리 7에 도전했다. 다만 ㅠ 속도가 너무 심하게 느려서 결국 TLE.. ㅠ 분명 정해인 것처럼 보이는데.. 파이썬이라 극한의 최적화가 필요할 듯싶다.. 에휴.. ㅠ 아무튼 그래서 오늘은 문제를 열심히 푸느라 c++강의는 뒷전.. 

 

오늘 배운 내용은 변환 연산자 오버 로딩과 변환 생성자에 대한 것이었다. 변환 연산자는 객체가 다른 자료형으로 변환되어야 할 때, 객체의 특성에 따라 그 자료형의 값으로 반환해주는 함수이다. 예를 들면 string 클래스의 "abc"가 불리언으로 평가되어야 할 때, true로 변환시켜주는 것을 예로 들 수 있다. 특히 불리언 연산에 관해서는 매우 매우 유용한데, 왜냐하면 논리 연산자 오버 로딩을 하게 되면 sequence 포인트를 무시하고 항상 두 불리언 변수 모두 평가가 되어야 했지만, 변환 연산자를 사용하면 변수 자체가 불리언으로 평가되므로 그냥 불리언 변수와 같아지기 때문이다. 

 

변환 생성자는, 생성자를 호출하는 게 아니라, 참조 변수에 다른 자료형을 =이 대입될 때, 호출되는 생성자로 string 클래스 변수에 char[] 가 대입되려고 할 때 호출될 수 있다. 일반적으로 암시적 변환이 이루어지기 때문에 크게 문제는 없지만 이를 의도하지 않은 경우에는 explicit를 붙여줘서 이를 방지한다. 

 

변환 연산자에 대해 배우는 모습

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

패스트캠퍼스 : https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #C++실력완성올인원패키지

댓글