월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
조금 엉뚱한 질문이 있습니다.
base 클래스 내에 있는 변수 m_value를 derived에 상속해서 함수를 이용해 값을 바꾸는건 결국 derived에 있는(상속받은) m_value값을 바꾸는거 맞나요? 예를 들어 base my_base(5)와 derived my_derived(6)이 있을때 저 함수를 이용해서 값이 바뀌는건 my_derived 에 상속받은 변수 m_value 인건가요? 그게 맞다면 약간 엉뚱한 생각이 들었는데 derived 클래스 내에서 base 클래스 내의 변수를 접근해서 바꿀 수 있는 방법도 있나요? 저 위에 예시에서 나온 base my_base 의 현재 5인 m_value 값을 derived 클래스 내에서 함수를 통해 다른 수로 바꿀수도 있나요? base 내에서 레퍼런스를 리턴하는 함수를 만들어서 m_value를 리턴하고 derived에서 그 리턴받은 함수를 이용해 값을 수정하려 해봤는데 안되더라구요.
- 미해결홍정모의 따라하며 배우는 C++
번외 질문
강의 마지막에 내주신 퀴즈에서 궁금증이 생겼습니다. cout << std::bitset<8>(bi >> 2) << endl; cout << std::bitset<8>(num1 | num2) << endl; cout << std::bitset<8>(num1 & num2) << endl; cout << std::bitset<8>(num1 ^ num2) << endl; 이것이 퀴즈의 정답이라 생각하는데, 이 코드의 출력값을 십진수로 표현하고 싶어졌습니다. 그래서 구글링을 통해 <typeinfo>를 가져와서 타입을 확인해 보니 생전 처음보는 타입이었고 억지로 int를 끼워넣어보려 했지만, 에러가 떴습니다. 혹시 이 코드의 출력값을 십진수로 나타낼 수 있는 방법이 있을까요? 강의 주제와는 조금 동떨어진 질문이라서 죄송합니다. ㅎㅎ;; 계속해서 따배씨 공부 열심히 해서 c++ 마스터 하도록 하겠습니다. 항상 잘 보고 있습니다.^^
- 미해결홍정모의 따라하며 배우는 C++
explicit instantiation 을 하게되면 메모리적으로 어떻게 되나요?
explicit instantiation 을 하게되면 단순하게 컴파일러에게 어떤 타입을 사용할지만 알리는 역할을 하게되나요? 따로 메모리가 생성된다던지 그런일이 발생하는지 궁금해요
- 미해결홍정모의 따라하며 배우는 C++
const int&를 사용했을때 왜 리터럴값이 들어가도 작동하는지
const int&를 사용했을때 왜 리터럴값이 들어가도 작동하는지에 대한 원리를 알 수 있을까요? 뒷쪽에서 익명객체 파트 듣다가 궁금한게 생겼는데 class mine { private: int value; public: mine(int m) :value(m) {} int getvalue() const { return value; } }; mine add(mine &m1, mine &m2) { return mine(m1.getvalue() + m2.getvalue()); } int main() { cout << add(mine(5), mine(6)); return 0; } 이 코드에서 add 함수 파라미터에 const를 붙이지 않으면 main에서 add함수가 작동하지 않습니다. 따로 mine m1(5) ,m2(6) ; 등을 만들어 add(m1,m2)를 하면 작동이 됩니다. 왜 이런일이 일어나는지에 대해 조금 혼란이 생겨서 앞 강의들을 다시 들어보다 여기까지 왔습니다. 답변 부탁드립니다
- 미해결홍정모의 따라하며 배우는 C++
15:36 에서 왜 class가 좋은지 설명해주셨는데
안녕하세요. 1. 제목 그대로 왜 class가 좋은지 말씀해주셨는데요, 간단하게 정리하면 이 부분에서 class가 좋은 이유가 결국 메모리를 먹지 않기 때문이라고 할 수 있을까요? 2. 그리고 class와 구조체의 메모리와 관련해서 질문이 있습니다. Friend jj; cout << &jj << endl; Friend_struct a; cout << &a << endl; -> 00F9F858 00F9F7E8 Friend는 class이고 Friend_struct는 구조체인데요, 메모리 할당 측면에서 class와 structure가 어떻게 다른지 확인해보고 싶은데 Friend 자체는 instantiation이 되지 않았기 때문에 주소를 출력할 수 없는 것처럼 구조체인 Friend_struct역시 마찬가지인가요? 그리고 구조체에서도 instance, instantiation이라는 개념이 있는지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C++
[10.3 집합관계 ](10:15)집합관계에서 참조와 포인터의 차이에 대해 질문 드립니다.
[10.3 집합관계 . 10:15] 안녕하십니까 고생많으십니다 1. 10:15 에서 push_back 메소드에 입력하는 인스턴스를 참조로서 받으면 pointer를 이용하지 않고도 주소로 접근할 수 있지 않을까 하여 질문드립니다. ( pointer를 이용하는 것으로 수정한 것과 결과가 같은지). 2. 참조로 집합관계 형성이 가능하다면, 포인터와 레퍼런스 중 어떤것이 더 유리한지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C++
, < 연산자 우선순위
if(a>0, b>0)을 하게되면 if(b>0)으로 인식해서 if(a>0 && b>0)으로 수정하는것이 맞는것인가요 if(90<a<100)을 하게되면 if((90<a)<100)으로 인식하는 것이 맞는 것인가요 if(90<a && a<100)으로 수정하는 것이 맞는 것인가요 만약 100<= a ,b <=1000 를 조건문에 넣고 싶을때 &&을 4번쓰는 방법외에는 없는 것인가요?
- 미해결홍정모의 따라하며 배우는 C++
레퍼런스 관련 질문이 있습니다.
class frac { private: int _nume; int _deno; public: frac(const int &a,const int &b){ _nume = a; _deno = b; } void print() { cout << &_nume << endl; } }; int main() { int a = 5; frac my_frac(a,6); cout << &a << endl; my_frac.print(); return 0; } frac 클래스의 생성자에서 int a를 레퍼런스로 받아와 _nume에 대입? 시킨 후 클래스 내의 print 함수로 nume의 주소값을 출력했을때 int a의 주소와 다른값이 나옵니다 레퍼런스가 선언될때 동시에 초기화를 해주면 같은 주소값을 가질수 있다고 알고있는데 저렇게 클래스 내의 private에 선언돼어 있을 경우에는 같은 주소값을 가지게 할 수 없나요?
- 홍정모의 따라하며 배우는 C++
그래픽스 공부해보고 싶습니다
삭제된 글입니다
- 미해결홍정모의 따라하며 배우는 C++
부동소수점의 오차에 대해 제가 이해한 것인지 궁금합니다.
영상 14:30 쯤에 double을 비교해주시고 차이를 보는 방법을 알려주셨습니다. 혹시 차이말고 값을 알고싶어서 setprecision(20)을 통해서는 값을 받았습니다. 이렇게 되면 오차가 더 커지게되고 그 숫자로 다시 차이를 알게되었을 때 오차가 더더욱 커지게 된다고 이해를 했는데 맞는 것인지 궁급합니다. 또 setprecision(20)을 통해 받은 double d1의 값과 실제 d1의 값이 같고 출력값이 다른걸로 이해를 했는데 맞는 것인지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C++
string에 대해 질문드립니다.
안녕하세요. 강의를 보다 string타입을 사용하시는 것을 보고 아래와 같이 궁금증이 생겨서 한 번 실험해보았는데 왜 이렇게 되는지 잘 모르겠어서 질문드립니다. #include <iostream> #include <string> using namespace std; int main() { string hello = "Hello, my name is Jack Jack"; cout << hello << endl; cout << &hello[0] << endl; cout << &hello[1] << endl; cout << &hello[2] << endl; return 0; } -> Hello, my name is Jack Jack Hello, my name is Jack Jack ello, my name is Jack Jack llo, my name is Jack Jack 이전에 문자 포인터의 특성 강의에서 cout에서는 문자열은 특별히 처리한다고 배웠고 문자열의 주소나 포인터를 출력해도 문자열이 그대로 출력된다고 배웠기 때문에 다음같이 앞에 &를 붙여서 출력했을 때 주소가 아니라 문자열이 그대로 출력될 것이라고 어느정도는 예상을 했습니다만 해당 index의 문자를 포함한 앞쪽의 문자들을 제외한 나머지 문자열이 출력되는 건지, 그리고 첫번째 element인 &hello[0]가 아닌 &hello[1]를 출력했을 때 H 이외의 문자열이 출력되는 것인지 궁금합니다. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C++
inline 함수
inline은 설명을 했기 때문에 간단히 넘어갔는데 기억이 안나서 다시 듣고 싶으면 무엇을 보면되나요?
- 미해결홍정모의 따라하며 배우는 C++
안녕하세요 교수님 오류 질문드립니다
2019버전 사용하고있구요 #include <iostream> int main() { return 0; } 강의 12분 30초 부분까지 했어요 2017과는 다르게 2019라서 build 에 run code analysis on solution 이라고 되어있어서 눌렀는데 Severity Code Description Project File Line Suppression State Error (active) E1696 cannot open source file "iostream" Project1 C:\Users\D Han\source\repos\Project1\Source.cpp 1 이렇게뜨네요 강의에서 나온것처럼 똑같이 쳤는데 iostream을 못찾는다는 소리는 뭔가요?
- 미해결홍정모의 따라하며 배우는 C++
디버깅 오류
3.5강 예제를 그대로 따라하면서 이전에 x,y에 관한 관계연산자를 그대로 지우고 그 위에 double 예제를 입력하고 컴파일했는데 오류가 생겼습니다. 새로운 solution file을 만드는 것 말고 이런 문제를 해결하려면 어떻게 해야하나요?
- 미해결홍정모의 따라하며 배우는 C++
네트워킹 맛보기 - Boost.Asio Socket에서 멀티쓰레드 채팅프로그램 예제
안녕하세요. 교수님의 c++강의를 정말 잘듣고 있는 학생입니다. 유튜브로부터 시작해서 인프런으로 넘어와서 강의를 오늘 끝까지 다 들었습니다. 마지막 챕터중에 boost asio로 네트워크 프로그램을 짜는 강의가 있는데 여기에서 숙제로 멀티쓰레딩을 사용해서 채팅프로그램을 작성해봐라 라고 숙제를 내주신 부분이 있는데 이 부분에 대해서 숙제 예제 코드같은것을 없는지 궁금합니다. 답변주시면 감사하겠습니다. 좋은 강의 들려주셔서 정말 감사합니다.
- 해결됨홍정모의 따라하며 배우는 C++
혹시 이제는 boost 설치법이 변한건 아닌가요?
안녕하세요. 본 강의의 순서대로 진행해 보았으나, boost '마지막'부분에서 설치가 안되네요(boost-context 부분).. VS도 재설치해보고, vcpkg도 다시 다운받아보고, 구글링도 여러 번 해봤지만 아직 해결방법을 못 찾았어요. 구글링에서는 boost를 지원 안한다는 말도 있고, vcpkg를 업그레이드 해보고 시도하라고 해서 그것도 해보았는데도 안되요.. 물론 여기다 물어볼 질문은 아닌 것 같은데, boost를 자주 쓰고 계신다면 2019년도와 지금 사용법에 변화가 있는 것은 아닌지 의문이 들어서 질문 남겨요. 깃허브에 직접 문의하는 게, 가장 빠를까요..? Q1) boost 설치법이 현재 강의 내용과 변화가 있지는 않나요? Q2) boost 다운 실패 후에는 다른 install이 체크한 것 처럼 거부당하네요...
- 미해결홍정모의 따라하며 배우는 C++
함수 오버로드 관련 질문
getCents 맴버함수를 2개를 정의하셨습니다. 맴버함수와 일반 c함수와의 차이인지 모르겠습니다만, 7단원에서의 강의중(함수 오버로드)에서는 '전달인자는 같고, 리턴 타입의 차이만으로는 있는 함수오버로드를 할수 없다'라고 설명하셨습니다. 그런데, getCents 맴버함수는 리턴 타입만 차이가 있는 상태에서 함수 오버로드를 하셨는데요. 차이가 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C++
실행창과 컴파일,런타임
빌드를 하는 과정을 컴파일하는 과정으로, 실행창에 결과가 나오는 것을 런(run)을 거치는 과정으로 이해할 수 있는 건가요?
- 미해결홍정모의 따라하며 배우는 C++
질문이 있습니다
AutoPtr<Resource> res = new Resource; 에 대해서 질문이있습니다. 무엇때문에 AutoPtr<Resource> *res = new Resource;이 되지 않는지 모르겠습니다. AutoPtr<int> *res = new int;로 해봐도 오류가 생기는 것을 보니 class AutoPtr의 생성자에서 파라미터로 받는 것이 포인터 타입이기 때문에 인가요?
- 미해결홍정모의 따라하며 배우는 C++
최신 Visual Studio에는 GitHub 설정 경로가 다르네요
질문은 아니고 다른 분들 참고하시라고 글 남겨둡니다. 교수님 강의에서는 Tools -> Extensions and Updates로 들어가서 GitHub Extension을 찾으셨지만, 현재 Visual Studio 2019 16.8.4 버전에는 Extensions -> Manage Extensions에 들어가야 찾을 수 있네요. 언제부터 이렇게 바뀐 건지는 저도 안찾아봐서 모르겠습니다.