월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
res1의 타입
안녕하세요 교수님. 페이스북 친구이기도 한 한규철이라고 합니다. res1 의 타입은 AutoPtr이라는 오브젝트가 되는건가요? 아니면 Resource 인가요? 제가 봤을땐 AutoPtr인 것 같습니다. 그리고 res1은 단지 Resource 오브젝트 백만개를 컨스트럭터에 쓰기위해 인풋 파라미터로 받고 있고요. 맞나요?
- 해결됨홍정모의 따라하며 배우는 C++
42분대 include한 변수의 메모리 주소
//main.cpp #include <iostream> #include "constants.h" extern void printLocation(); extern void printLocation2(); int main(void) { std::cout << "main.cpp " << &constants::global << std::endl; printLocation(); printLocation2(); return 0; } // print.cpp #include <iostream> namespace constants { extern const int global; } extern void printLocation2(void) { using namespace std; cout << "print.cpp " << &constants::global << endl; } // location.cpp #include <iostream> #include "constants.h" extern void printLocation(void) { std::cout << "location.cpp " << &constants::global << std::endl; } // constants.cpp namespace constants { extern const int global(123); extern const int global2(472); } // constants.h #pragma once namespace constants { extern const int global; extern const int global2; } 위에서 cout으로 찍은 메모리의 주소가 전부 같게 나오는데 내부 동작 순서가 extern으로 정의된 변수의 값을 constants.h 헤더 파일에서 참조하고 다른 파일에서는 constants.h 헤더 파일을 include 함으로서 전부 같은 메모리의 주소를 가지게 되는건가요? 그래서 헤더 파일을 포함하지 않고 직접 global 변수를 extern해준 print.cpp에서도 같은 주소를 가지게 되는건가요? 만약 그렇다면 해더 파일에 선언 해줌으로서 cpp파일은 헤더 파일만 include 해주면 전부 사용이 가능하다는 이점이 있는거 같고, include없이 사용이 가능한건 장점인지 단점인지 잘 모르겠네요. 강의 정말 재미있고 알차게 보고 있습니다. 최근 삶의 활력소 역활을 해주네요. 감사드립니다.
- 미해결홍정모의 따라하며 배우는 C++
5:40 경에
안녕하세요. 강의 잘 듣고 있습니다. 5:40 경에 Command arguments에 1024를 입력후 if (count == 1) 일때 인티져로 바꾸어 출력을 하셨는데요. count가 1이면 0번째, 1번째 이므로 두번째 원소가 출력되어야 하는게 아닌가요? 그런데 count == 1일때는 두번째 원소가 없는데, 1024에 1을 더하여 1025가 출력되는것이 이해가 잘 되지 않네요.
- 미해결홍정모의 따라하며 배우는 C++
va_list
안녕하세요 잘 듣고 있습니다. va_list, va_start, va_end에 관련된 내용은 몇강에 있나요?
- 미해결홍정모의 따라하며 배우는 C++
피보나치 수열 문제
피보나치 수열문제 풀어보았습니다. 맞게 풀었는지 궁금하여 첨부 합니다. int fibonazzi(int num) { if (num == 0) return 0; else if (num == 1) return 1; else return fibonazzi(num - 1) + num; } 그런데 num의 수가 4791을 넘어가니 실행이 되지 않네요. 4790까지는 잘 실행이 되는데 말이죠.
- 미해결홍정모의 따라하며 배우는 C++
10:30 경에
10:30 경에 나오는 bool isEven(const int& number) 함수와 bool isOdd(const int& number)함수의 레퍼런스변수 number는 어디서 온 건가요? 강의 코드를 살펴보아도 선언이 되거나 하지 않은거 같아서요
- 미해결홍정모의 따라하며 배우는 C++
이렇게 해도 되나요?
Q. 이 예제의 상황만 본다면, doSomething.h에서 #include "add.h"를 써놔서, Main소스파일에서도 add함수가 정상적으로 동작하는 것을 확인했어요. #include "add.h"중복을 피하는 것도 방법이 될 수 있는 것 같은데요, 제가 이해한 것이 맞나요?#include <iostream> using namespace std; //#include "add.h" doSomething.h 에서 참조하고 있으므로. 여기서 사용안하면, 중복을 피할 수 있음. #include "doSomething.h" int main() { doSomething(); cout << add(5, 10) << endl; return 0; }
- 미해결홍정모의 따라하며 배우는 C++
10:10 경에
안녕하세요 강의 잘 듣고 있습니다. 10:10 경에 foo함수에 아규먼트로 리터럴이 들어올 수 있게 하려면,파라미터에 const를 붙여 주면 되고, 단 x의 값이 변경되지 않을 경우에만 그렇게 할 수 있다고 하셨는데요. 제가 foo함수 내부에서 x에 1을 더해주는 식을 추가했는데 컴파일 에러가 나지도 않고 잘 실행되는데 그 이유는 뭐죠? void foo(const int& x) { cout << x + 1<< endl; }
- 미해결홍정모의 따라하며 배우는 C++
질문드립니다.
안녕하세요 강의 잘 듣고 있습니다. 질문 있습니다. int* const ptr 과 int const* ptr은 별의 위치가 다른데 동일한 포인터 입니까?
- 미해결홍정모의 따라하며 배우는 C++
연습문제
말씀하신 연습문제를 풀어보았습니다. while문과 break, pointer연산을 사용하여 array안의 내용물을 출력하는 코드를 짜 보았습니다. 맞게 하였는지 궁금하여 첨부합니다. char name[] = "Jack Jack"; char* ptrptr = name; while (true) { if (*ptrptr == '\0') break; cout << *ptrptr; ++ptrptr; }
- 미해결홍정모의 따라하며 배우는 C++
while을 for로 바꾸기 질문
안녕하세요? 강의 잘 듣고 있습니다. 강의 중 말씀하셨던 +, -. *, /를 추가해 보았고, switch문으로도 바꾸어 보았습니다. 그런데 getInt() 함수의 while문을 for문으로 바꿔보라고 하셨는데 그건 어떻게 바꿔야할지 감이 안오네요ㅜㅜ 알려주시면 감사하겠습니다. #include <iostream> using namespace std; int getInt() { while (true) { cout << "Enter a integer number : "; int x; cin >> x; if (std::cin.fail()) { std::cin.clear(); std::cin.ignore(32767, '\n'); cout << "Invalid number, please try again"; } else { std::cin.ignore(32767, '\n'); return x; } } } char getOperator() { while (true) { cout << "Enter an operator (+, -, *, /) : "; char op; cin >> op; std::cin.ignore(32767, '\n'); if (op == '+' || op == '-' || op == '*' || op == '/') { return op; } else { cout << "Invalid operator, please try again" << endl; } } } void printResult(int x, char op, int y) { switch (op) { case '+': cout << x + y << endl; break; case '-': cout << x - y << endl; break; case '*': cout << x * y << endl; break; case '/': cout << x / y << endl; break; } } int main() { int x = getInt(); char op = getOperator(); int y = getInt(); printResult(x, op, y); return 0; }
- 미해결홍정모의 따라하며 배우는 C++
do while 연습문제 질문
https://www.acmicpc.net/problem/1110 int main() { int input_Num = 0; int sum = 0; int count = 0; int tens, units; cin >> input_Num; tens = input_Num / 10; units = input_Num % 10; do { sum = units * 10 + (tens + units) % 10; tens = sum / 10; units = sum % 10; count++; } while (input_Num != sum); cout << count << endl; return 0; } 안녕하세요 교수님. 궁금한게 있어서 글을 올립니다. 전부 이해가 되는데 while (input_Num != sum); 이부분의 코드에서 이해가 안됩니다. 조건이 input_Num == sum인 지 알았는데 아니어서 왜그런지 궁금합니다. '!=' 같지 않기 때문에 while(false)처럼 작동되는 건가요? 아니면 while(true)처럼 작동되는 건가요? 그리고 '== '을 '!='대신 넣었을때 1번만 작동되며 종료되는 것은 코딩이 잘못 되어 그런것인가요?
- 미해결홍정모의 따라하며 배우는 C++
이 후 공부과정.
교수님 안녕하세요. 오늘부로 강의를 전부 수강하였습니다. 다시 한번 모르는 부분을 확인하며 처음부터 공부하려고 합니다. 혹시 추천해주실 C++ 책이나 연습문제 책 있으신가요? 그리고 교수님의 C++ 연습문제 과정을 수강하려 하는데 교육과정의 레벨이 많이 높은가요?
- 미해결홍정모의 따라하며 배우는 C++
<boost/asio.hpp> 문제
12:00 강의처럼 vcpkg로 boost library를 32, 64비트 모두 설치하였는데 include가 안됩니다. 혹시 몰라 둘다 설치해도 작동이 안되며, 직접 폴더를 설정해주어도 작동이 안됩니다. 이 경우 VS를 재설치 해야되나요?
- 홍정모의 따라하며 배우는 C++
안녕하세요, 클래서 멤버변수 초기화에 대해 질문이 있습니다.
삭제된 글입니다
- 미해결홍정모의 따라하며 배우는 C++
연습문제 코드 첨부
안녕하세요 좋은 강의 잘 듣고 있습니다. 연습문제를 풀어 보았는데 맞게 한건지 궁금하여 첨부합니다. int main() //연습문제 { unsigned char option_viewed = 0x01; unsigned char option_edited = 0x02; unsigned char option_liked = 0x04; unsigned char option_shared = 0x08; unsigned char option_deleted = 0x80; unsigned char my_article_flags = 0; /*cout << bitset<8>(option_viewed) << endl; cout << bitset<8>(option_edited) << endl; cout << bitset<8>(option_liked) << endl; cout << bitset<8>(option_shared) << endl; cout << bitset<8>(option_deleted) << endl;*/ //viewed article my_article_flags |= option_viewed; cout << bitset<8>(my_article_flags) << endl; //clicked like my_article_flags |= option_liked; cout << bitset<8>(my_article_flags) << endl; //clicked like again my_article_flags &= ~option_liked; cout << bitset<8>(my_article_flags) << endl; //deleted this article my_article_flags |= option_deleted; cout << bitset<8>(my_article_flags) << endl; return 0; }
- 미해결홍정모의 따라하며 배우는 C++
C++로 무엇을 할 수 있나요?
C++을 배우는 학생입니다. 우연히 이 강의를 발견해서 C++이 첫 언어가 되었는데 이 강의도 다 듣고, 관련 서적도 몇권 읽어 봤는데 문득 이걸로 뭘 하지? 라는 생각이 들었습니다. 파이썬이나 자바를 배우기에는 이때까지 배운게 아깝고, 또 뭘 더하기에는 C++에서 딱히 할 수 있는 것이 보이지 않습니다. C++ 뭘 하기 위해 배우고 애초에 무엇을 할 수 있나요?
- 미해결홍정모의 따라하며 배우는 C++
const 관련강의 몇강인가요?
const 관련강의 몇강인가요?
- 미해결홍정모의 따라하며 배우는 C++
13.4 클래스 맴버 함수 특수화
다름이 아니라 수업을 듣다가 auto라는 변수선언 하는 방식이랑 Templete를 사용하는 방식의 차이가 갑자기 궁금해서 물어보게 되었습니다. 물론 차이가 있다는걸 알지만 좀더 명확하게 알려 주실수 있는지 확인하고 싶어서 남겼습니다. ex) template<typename T> T getMax(T x, T y) { return (x > y) ? x : y; } 은 되지만 auto getMax(auto x, auto y) { return (x > y) ? x : y; } 는 안되는걸로 아는데 혹시 다른 부분에 있어서 안되는것이 있는지 궁금해서 질문 남겨드립니다.
- 미해결홍정모의 따라하며 배우는 C++
함수오버로딩에서 매개변수 데이터 타입 관련 질문드립니다.
안녕하세요 오버로딩에서 왜 const를 사용하면 에러가 사라지는지 궁금해서 질문드립니다, void print (int value) { } void print(const char* value) { } int main() { print ("a"); }