목록Categories (1099)
KoreanFoodie's Study
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! 템플릿 클래스 인스턴스는 같은 타입일까? 템플릿 클래스로 만든 두 클래스에서 인자만 바꾼다면, 해당 인스턴스들은 같은 타입일까? 다음 코드를 보자. #include #include template class Array { T data[N]; public: Array() {} Array(T (&arr)[N]) { for (int i = 0; i < N; ++i) { data[i] = arr[i]; } } T* get_array() { return data; } int size() { return N; } void print_all() { for (int i = 0; i < N; ++i..
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! 가변 길이 템플릿 C++ 템플릿을 이용하면 파이썬처럼 임의의 갯수의 인자를 받는 함수를 구현할 수 있다. #include template void print(T arg) { std::cout
바야흐로 예약대란이다. 유명하고 맛있는 곳을 방문하기 위해서는 사전작업이 거의 필수가 된 시대가 열렸다. 물론 너무 장사가 잘 되서, 굳이 예약 따위 받지 않는 음식점들도 부지기수다. 그런 곳들은 추운 겨울날 롱패딩을 부여 잡으며 같이 온 친구나 연인들과 펭귄 놀이를 할 준비를 해야한다. 아버지는 자칭 미식가이기에 맛집을 찾아가시는 편이다. 포장도 자주 해 오시고. 자칭 미식가인 아버지. 하지만 내가 생각하기에, 아버지는 혼(混)식가에 가깝다. 뭐든지 비비고 섞어 드시니까. 전문 용어로 쓰까 묵는다고 하던가? 맛집의 세계는 냉혹하다. 잘되는 곳은 잘되고, 안되는 곳은 안되는 법. 너무나도 당연한 말이지만, 음식점의 경우 그 편차가 제법 크다. 바로 옆집에 붙어 있어도 문전성시를 이루는 집과, 파리만 날리..
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! C++ 템플릿 도입 아래와 같은 벡터 클래스를 만들었다고 하자. class Vector { int* data; int capacity; int length; public: Vector(int n) : data(new int[n]), capacity(n), length(0) {} void push_back(int input); void remove(int index); int size() { return length; } void print_data() { for (int i = 0; i < n; ++i) { std::cout
마음이 따뜻하다는 것을 어떻게 정의내리면 좋을까. 그냥, 온기를 오감으로 느끼듯 따스한 마음이라는 놈을 자연스럽게 받아들이면 안되는 걸까. 따뜻한 마음이라는 녀석의 정체를 꼬질꼬질하게 파고들어 결론을 내려야 직성이 풀리는 슬프디 슬픈 나의 성격이여. 어쩌면 나는 따뜻한 마음을 가지기에 이미 틀린 운명을 타고난 건 아닐까 싶기도 하다. 그러나 타고난 팔자 따위, 노력으로 극복할 수 있다고 믿는 나이기에 아직 일말의 희망은 남아 있지 않을까. 사람은 변한다. 이전 글에서도 그 주제를 다룬 적이 있고 앞으로도 사람이 변한다는 나의 생각은 바뀌지 않을 것이다. 사람은 끊임없이 변한다. 물론 변모하는 생김새는 각기 다르다. 마치 먹구름에서 뛰쳐나온 빗방울이 서로 다른 무늬의 결정을 이루듯이. 그렇다면 나는 어떨까..
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! fstream 파일 스트림클래스 fstream을 상속받아 istream과 ostream을 입출력 클래스로 사용하자. std::ifstream in("test.txt"); std::string s; if (in.is_open()) { in >> s; std::cout
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! C++ 입출력 라이브러리 C++ 입출력 클래스는 ios_base를 기반으로 하며, 스트림의 입출력 형식 관련 데이터를 처리한다(정밀도, 10진수/16진수 등 결정). ios 클래스에서는 실제로 스트림 버퍼를 초기화하고 입출력 작업의 상태를 처리한다(파일의 끝에 도달했을 경우 eof 함수 호출, good 함수 호출로 입출력 작업 체크) istream 클래스 istream은 실제로 입력을 수행하는데, operator>>가 istream 클래스에 정의된 연산자이다. 또한 cin은 istream 클래스의 객체 중 하나이다. cin은 엔터나 공백을 입력 시에 무시해 버린다. 또한, opera..
'스파이더맨 : 노 웨이 홈'에서 닥터 스트레인지는 스파이더맨에게 이런 대사를 던진다. "The problem is you trying to live two different lives. The longer you do it, the more dangerous it becomes!" 스파이더맨은 참 욕심이 많다. 욕심이 없는 사람이 세상에 어디 있겠냐마는, 극중의 피터 파커는 철부지라는 컨셉답게 원하는 것을 쏙쏙 골라가지려고 하는 아이같은 면모를 보여준다. 그래서 큰 어른이자, 마치 숙부같은 존재인 닥터 스트레인지에게 떼를 쓰기도 한다. "문제는 너가 두 가지 다른 삶을 동시에 살려고 하는 데에 있는거야." 닥터 스트레인지로서의 삶을 살기 위해 스티븐이라는 삶을 포기했던 그이기에, 닥터 스트레인지는 스파..
모두의 코드를 참고하여 핵심 내용을 간추리고 있습니다. 자세한 내용은 모두의 코드의 씹어먹는 C++ 강좌를 참고해 주세요! vitrual 소멸자와 메모리 누수 사실 virtual 소멸자를 사용하는 이유는, 메모리 누수(memory leak)을 막기 위해서이다. 다음 예제 코드를 보자. class parent { public: parent() { std::cout