본문 바로가기

공부78

C++ 5일차 (※ 개인 정리를 위한 것이므로, 이해한 내용 생략다수 + 불친절함 주의) string 클래스 기존 C에서 문자열을 다루는 것은 어려웠다. 두 문자열이 같은지를 확인하기 위해서도 별도의 함수를 사용해야 했다(strcmp). 그러나 C++에서 제공하는 표준 string 클래스를 사용하면 이러한 함수의 사용 없이 문자열을 편리하게 이용할 수 있다. #include #include int main() { std::string s = "cake"; std::cout 2021. 5. 13.
C++ 4일차 하루 공부 양이 뒤죽박죽이라 어느 정도 내용이 쌓이면 적으려고 하고 있다. (※ 개인 정리를 위한 것이므로, 이해한 내용 생략다수 + 불친절함 주의) explicit 'explicit' 이란 '분명한, 명쾌한' 등의 의미를 갖는 단어이다. 이 친구가 하는 역할을 정리하려면, '명시적 변환'과 '암시적 변환'에 대해 대강이나마 정리할 필요가 있다. C++의 컴파일러는 똑똑하다. 그렇기 때문에 프로그래머가 짠 내용을 참고해서 자기 나름대로 생각하고 사용자가 편하도록 알아서 처리할 때가 있다. 변환 또한 그러하다. class CustomString { private: char * str; public: CustomString(const char* string); /*...*/ }; /* ... */ void .. 2021. 5. 7.
C++ 3일차 주말 내내 코딩이 너무 하기 싫어서 반쯤 놀아댄 결과 별로 공부한 내용이 없다. 그러다 최근 글을 봤는데 글을 무슨 쓰다 말았어서 OTL... 못 쓴 내용까지 복습하면서 다 정리할 것. (※ 개인 정리를 위한 것이므로, 이해한 내용 생략다수 + 불친절함 주의) 소멸자 (Destructor) 소멸자란 대충 생성자와 반대의 작업을 수행하는 함수라고 볼 수 있겠다. 그렇기에 생성자가 객체를 생성하는 데 사용되는 함수라면, 소멸자는 객체가 소멸될 때 호출되는 함수이다. 소멸자가 필요한 이유는 다음과 같다. #include #include class Test { int num; char * word; public: Test(int n, char * name); }; Test::Test(int n, char * n.. 2021. 5. 3.
C++ 2일차 어제 미처 (시간이 너무 오래 걸려서) 클래스와 오버로딩에 대한 내용을 쓰지 못했다. 오늘 조금 더 생성자와 소멸자에 대해 봤기 때문에 적기로. (※ 개인 정리를 위한 것이므로, 이해한 내용 생략다수 + 불친절함 주의) 객체 객체지향 프로그래밍의 핵심적인 개념. 일단은 그 개념을 "현실 세계에 존재하는 어떠한 개념들을 표현하기 위한 데이터들의 모음(구조)" 라고 생각하고 있다. 객체지향 프로그래밍을 학습할 때 있어, 중요하게 배우는 특징들이 몇 가지 있다(n년 전 자바 교과목에서 열심히 공부했었다). 여기서 되새겨보는 특징은 아래와 같았다. 추상화(Abstraction) : 현실의 것을 컴퓨터의 세계로 가져오는 과정에서, 불필요한 것을 없애고 중요한 것만을 남기는 과정이다. 현실 세계의 정보는 제대로 표.. 2021. 4. 30.
C++ 1일차 쇠뿔도 단 김에 빼랬다. (※ 개인 정리를 위한 것이므로, 내용 생략다수 + 불친절함 주의) 1장 C++은 개인적으로는 흥미로운 언어다(배우는 것이 즐거운 것과는 별개로). C언어와 생긴 것은 비슷하면서도 C가 갖고 있지 않은 '객체 지향'이라는 특징을 갖고 있다는 점이 무엇보다 그러하다. 부족하다만 어쨌든 C를 해보았기에 C++를 처음 잡았을 때의 느낌은 정도의 기분이었던 것 같다. 무언가... 새롭다. 많다. Visual Studio 2019에서 C++사용 C언어를 처음 배울 때도 Visual Studio를 사용하여 학습을 진행했었는데, 이번에도 그렇게 진행한다. 다만 내 Visual Studio는 얼마 전에 새로이 만난 2019버전이고, 2019버전에서 C++ 프로그래밍을 진행하기 위해서는 별도의 .. 2021. 4. 28.
C++ 공부 토익이 끝나면 하려 했던 공부가 바로 C++/알고리즘 이었다. C++은 알고리즘 과목을 수강할 때 찍어먹어봤던 언어인데, 문법도 제대로 모르면서 교수님이 간단히 설명해준 1시간 분량의 개념과 1학년 때 배운(그마저도 거의 까먹은) 얕팍한 C언어의 지식을 끌어모아 눈물나는 과제쇼를 벌였다더라. 고로 C++을 제대로 익히고 겸사겸사 까먹은 것들도 정리할겸, 최종적으로는 알고리즘 문제 풀이를 할 수 있을 정도의 이해도를 쌓는 것을 목표로 공부할 예정. 참고 자료는 밑 링크의 PDF파일이다. 감사하게도 이렇게 알차고 방대한 분량의 PDF를 집필해주셨다. 언젠가 커피값 드리는 것으로. 책도 사놓은 것이 있어 좀 더 이해가 필요하다 싶으면 해당 책도 볼 예정이다. modoocode.com/312 씹어먹는 C++ 강.. 2021. 4. 28.