월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨홍정모의 따라하며 배우는 C++
7.9함수포인터_1:15 cout << func << endl;
안녕하세요, 강의를 보다가 질문 올립니다.강의 내용 중int func() { return 5; } int main() { cout << func << endl; return 0; }이 부분에서 주소값을 출력했는데요저 같은 경우warning: address of function 'func' will always evaluate to 'true' 라는 경고 메시지와 함께1 이라는 값이 출력되었습니다.이후 &func, *func, func() 모두 같은 방법으로출력했더니 func() 만 5, 나머지는 1이 출력되었어요.즉 저는 함수의 주소값으로 출력되지 않는데그냥 버전의 이유일까요 ? m1 MacOs g++17 입니다. 강의 내용과 반대로 쓰레기값이 나온다거나또는 쓰레기값이 나와야하는데 0이 나온다거나이런 경우가 몇 번 있더라구요
- 미해결홍정모의 따라하며 배우는 C++
복사 생성자
질문1 : 복사 생성자 AutoPtr(const AutoPtr& a)부분에서 AutoPtr& a여기서 AutoPtr인데 Resource 클래스를 넣어도 복사 생성자가 호출이 되나요?? 타입이 다른데 왜 문제가 없죠? 질문2: AutoPtr 복사생성자 안에 있는 *m_ptr = *a.m_ptr 이 부분에서 Resource의 대입연산자 오버로딩이 호출이 되는부분에서 *m_ptr이 역참조를 하는건 알겠는데 그럼 뭐가 나오는건가요???그리고 *m_ptr = *a.m_ptr도 (*a).m_ptr 이렇게하는데 왜 a도 역참조를 하나요?? 객체자체니까 상관없지 않나요???
- 미해결홍정모의 따라하며 배우는 C++
공변 반환값 질문있습니다!
class A { public: virtual void print() { cout << "A" << endl; }와 같이 print 함수에 virtual을 써주면 공변 반환값이 작동 되지 않는데 이유가 무엇일까요?
- 미해결홍정모의 따라하며 배우는 C++
10.6강 resize함수
아래코드에서 처음에는 m_data=temp; 다음에 delete [] temp; 를 써도 될 줄 알았는데(temp가 m_data에 복사되어서 temp를 없애도 될 것 같아서) 에러가 뜨더라구요.여기서 delete [] temp를 쓰면 안되는 이유가 temp로 할당받은 동적 메모리?가 힙에 있는데 (temp 포인터 자체는 스택에 있고)m_data=temp로 인해서 m_data가 동적메모리를 가리키는 상황에서delete[]를 쓰면 그 힙에 있는 메모리가 사라져서 그런 것으로 이해했는데 맞나요? IntArray& resize(const int &size_in) { if (m_length == size_in) return *this; else if (m_length < size_in) { int* temp = new int[size_in]; for (int i = 0; i <m_length; ++i) { temp[i] = m_data[i]; } for (int i = m_length; i < size_in; ++i) temp[i] = 0; m_length = size_in; delete[] m_data; m_data = temp; } else { m_length = size_in; int* temp = new int[size_in]; for (int i = 0; i < size_in; ++i) temp[i] = m_data[i]; delete[] m_data; m_data = temp; } }
- 미해결홍정모의 따라하며 배우는 C++
15.1 9분50초
AutoPtr<Resource> res(new Resource);여기서 res도 동적할당으로 생성이 된것인데res의 클래스 템플릿인 AutoPtr에서 소멸자가 호출이 되면 거기서 Resource로 만들어진 부분을 delete하는 것이 들어가 있어서 지워지는 것까지는 이해가 되는데res도 동적할당을 받았을텐데 어떻게 delete res를 하지 않았는데 AutoPtr의 소멸자가 호출이 되는건가요?????
- 해결됨홍정모의 따라하며 배우는 C++
난수를 만드는 함수를 보면
내용에서는 '난수처럼 보이는' 수를 만들어내는 것이고더 나아가서 시간값을 이용해 시드 자체를 난수로 만들어결과를 반환받는 것 같은데,쓰레기값을 이용해서 난수를 만드는 것은 어려울까요 ?아직 수업을 4분 정도까지만 봐서 뒷부분에 나올지 모르겠지만듣는 동안 누군가 답변 해주실까 싶어 질문 먼저 남겨봅니다.
- 해결됨홍정모의 따라하며 배우는 C++
1:52 typeid() 리터럴의 데이터타입 출력
저 같은 경우 한 글자만 출력이 되는데,예를 들어 Int는 i이 부분을 바꿀 수 있나요 ? 코드는 아래와 같습니다.#include <iostream> #include <typeinfo> int main() { using namespace std; int a = 123; cout << typeid(a).name() << endl; return 0; }
- 미해결홍정모의 따라하며 배우는 C++
10.3 (9:45) 부분 push_back
공부하시다가 저처럼 " &인데 왜 복사를 하지? "하고 생각하신 분들에게 도움이 될 것 같습니다!https://stackoverflow.com/questions/2275076/is-stdvector-copying-the-objects-with-a-push-back
- 미해결홍정모의 따라하며 배우는 C++
제가 이해한게 맞는지 궁금합니다!
students 벡터에 students.push_back(student_input)student_input 은 주소가 아니라 값으로 들어갔기 때문에 벡터에서 깊은 복사가 안 되는 것이고포인터 벡터로 student_input 의 주소를 받아서 주소를 students 벡터에 넣어줘야 깊은 복사가 일어나기 때문에 같은 Jack Jack 을 가르킬 수 있는게 맞는 건가요? 제가 잘 이해한건지 잘 모르겠어요 ㅠㅠ
- 해결됨홍정모의 따라하며 배우는 C++
Chapter1_3, 22:17, Assignment, 변수 x를 할당하고 값을 대입하지 않았을 때
안녕하세요, 저는 m1 MacOS로 따라가고 있습니다.그러다보니 일단 개발환경이 다르긴한데,(VSCode로 하고있습니다.)저 같은 경우 해당 강의 내용처럼 int x에,정수형 가장 기본이 되는 값 0이 들어가있는 게 아니라67836960, 7248928 등등 디버깅 후 Run 할 때마다 값이 달라져서 나옵니다.(주소값이 매번 달라지는 건 알고 있습니다. x 값 자체가 변합니다.)당장 뭐 문제가 있는 건 아니지만,혹시 어떤 이유 때문인지 궁금해서 질문합니다.코드는 아래와 같습니다.#include <iostream> int main() { int x; // x = 123; std::cout << x << std::endl; std::cout << &x << std::endl; return 0; }
- 미해결홍정모의 따라하며 배우는 C++
3.7 이진수 Binary Numbers에서의 다른 동영상?
3.7 이진수 Binary Numbers 영상에서 몇번 언급하신 손으로 하는 다른 동영상은 어디에서 보는건지요?
- 미해결홍정모의 따라하며 배우는 C++
x! =y와 x !=y 차이 관련
이전 찹터에서 설명해주신 것 같기는 한데 혹시 한번 답글로 설명을 해주실 수 있으신지요?
- 미해결홍정모의 따라하며 배우는 C++
6.8 포인터와 정적 배열 *array =100 값 변경
11:00 강의에서 printarray함수 안에서 dereference 통해서 값을 바꿨는데 함수 밖에서도 값이 바뀌는 것이 잘 이해가 안 가서요 찾아보니 질문에서 dereference 이용해서 값을 찾아 들어가서 바꿨다고 답변이 있던데 printarray의 array와 main의 array가 이름만 같고 다른 개체라면 왜 둘 다 같이 바뀌는 건가요?? 같은 주소를 참조하고 있기 때문인가요??
- 미해결홍정모의 따라하며 배우는 C++
이니셜라이져 리스트 질문입니다!
initializer_list<int> arr = { 1,2,3,4,5 };for (int a : arr){ cout << a << endl; 1)}cout << a[0] << endl; 2) 1번은 되고 2번은 안 되는 이유가 무엇인지 궁금합니다!
- 미해결홍정모의 따라하며 배우는 C++
operator 질문있습니다!
operator 강의를 듣다가 너무 헷갈려서 질문드립니다 ㅠㅠㅠoperator int() { cout << "cast here" << endl; return m_cents; } printerInt(cents);를 해줬을 때 int() 를 보고 컴퓨터가 어떻게 오버로딩을 찾아가는지 이해가 안됩니다.. 사실 그 전에 다른 오버로딩들도 이해가 안되어서 외우려고 했는데 이제는 멘탈이 나갑니다..ㅠㅠㅠ
- 해결됨홍정모의 따라하며 배우는 C++
네임스페이스 유무의 차이가 궁금합니다!
위의 코드에서는 17이 나오는데MyNumber2라는 namespace를 없애면 main함수에서 using namespace MyNumber1;을 해도 stillOne이 중복된다고 뜹니다. 왜 이런 건지 알 수 있을까요? 혹시 둘 다 int로 매개변수가 같아서 그런 건가요?만약 그렇다면 왜 매개변수가 같으면 안 되나요?
- 미해결홍정모의 따라하며 배우는 C++
8.15 코드 중 using 질문 있습니다!
전 강의에서 배웠던 using 들은using namespace std; 이거나using std::cout 였는데8.15 class Timer에서using clock_t = std :: chrono :: high_resolution_clock;에 나오는 using은 어떤 역할인가요?int, string 같은 타입 대신 써주는..? 모르겠네용..
- 미해결홍정모의 따라하며 배우는 C++
포인터에 대해서 정확하게 알고싶습니다..
int [10] 과 int*[10] vector<int> 와 vector<int*>만약 class Ball이란게 있으면vector<Ball> 과 vector<Ball*> 차이점이 무엇이고 어떨때 사용하는건지 자세히 알려주세요..!
- 미해결홍정모의 따라하며 배우는 C++
1.7지역 범위 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님지역변수를 사용하고자 할때 함수 내에서 중괄호 안에서 변수를 초기화다른 함수에서 변수에 대입이렇게 두가지 방법이라고 생각하면서 수업 중 예시를 보여준것과 마지막 예제를 구분하면 될까요 중괄호 안에서 중괄호를 또 쓰면 무조건 지역변수인게 아니라 초기화를 해주어야 하는건가요
- 미해결홍정모의 따라하며 배우는 C++
6.2배열기초 2of2 10:15
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 6.2배열기초 2of2 10:15 dosomething함수에서&students_scores의 주소와 &students_score[0]의 주소가 왜 다른가요?? 배열의 첫 번째 주소가 배열의 주소라면 같아야 하는 것 아닐까요??dosomething에서 다르게 나온 이유는 강의에서 dosomething의 &students_scores의 주소가 인자를 가리켜서 그런 것이라고 설명 들은 것 같은데 근데 배열이 함수로 넘겨 받을 때 주소로 복사 되는 것이라면 주소가 똑같이 나와야 하는 것이 아닌지 이해가 안갑니다