월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
1:25초에 Something()뒤에 : 붙이는거
이 부분은 설명을 못들었던것 같은데 저건 무슨 기능인가요?
- 미해결홍정모의 따라하며 배우는 C++
15:17 부분 질문있습니다.
using으로 타입을 정의하실 때 typedef와는 다르게 using check_fcn_t = bool(*)(const int&);로 하셨는데 using check_fcn_t = bool(*check_fcn_t)(const int&); 에서 check_fcn_t을 빼지 않았을 때 bool(*)의 모양으로 만들라는 형태의 에러가 발생했는데 모양이 왜 이렇게 되는 것인지 아무리 생각해봐도 잘 모르겠어서 질문드립니다.
- 미해결홍정모의 따라하며 배우는 C++
6.19 다중포인터와 동적 다차원 배열 질문이 있습니다
10: 51분때 int **matrix=new int*[row]; for(int r=0;r<row;++r) { matrix[r]=new int [col]; } for(int r=0;r<row;++r) for(int c=0;c<col;++c) matrix[r][c]=s2da[r][c]; //print all elements for(int r=0;r<row;++r) { for(int c=0;c<col;++c) cout<<matrix[r][c]<<" "; cout<<endl; } ====================================== int **matrix=new int*[row] 여기서 왜 int*타입의 원소들의 주소는 matrix[r][c]여기서의 열(row)부분으로 가는건가요? 그냥 외우면 되나요?
- 미해결홍정모의 따라하며 배우는 C++
PoweredDevice(power) 생성자는 왜 호출해주나요?
virtual 키워드를 붙인다음에 PoweredDevice(power) 생성자는 왜 넣어주는지 잘 모르겠습니다. 강의내용에서도 그냥 붙여준다고만 나와서요
- 미해결홍정모의 따라하며 배우는 C++
6.19 질문
강의 6분 50초 부분 int**rows=new int*[row]{r1,r2,r3}; 이부분이 이해가 가질 않습니다. new int*[row]{r1,r2,r3} 에서 * 이건 de-referencing 을 뜻하는건가요 아님 포인터를 뜻하는건가요 또한 de-referencing 이라면 도대체 무엇을 가리키는건가요?
- 미해결홍정모의 따라하며 배우는 C++
auto로 함수를 만들면 전방 선언을 못 하나요?
4.4 auto 키워드와 자료형 추론 5:30~ 강의 들으면서 코드를 따라 해보고 있습니다. auto를 사용해서 더하기add함수를 만들어서 사용해보고 있습니다. 질문은, 전방 선언하면 왜 오류가 뜰까요? main 함수 전에 add함수를 정의하면 오류가 없는데 전방 선언으로 main함수에서 사용하려니 오류가 뜨네요. 도저히 찾지 못해 도움을 요청합니다 ㅜ_ㅠ ;도 확인 했고, 복붙으로 한 거라서 틀리진 않았는데... #include <iostream> using namespace std; //전방 선언으로 함수 사용하기 auto add(int a, int b); int main() { auto a = 123; auto d = 123.0; auto c = 123 + 1.0; cout << add(2, 3) << endl; return 0; } auto add(int a, int b) { return a + b; } //--------------------------------------------- #include <iostream> using namespace std; //전방 선언하지 않고 바로 함수 사용하기 auto add(int a, int b) { return a + b; } int main() { auto a = 123; auto d = 123.0; auto c = 123 + 1.0; cout << a << d << c << endl; cout << add(2, 3) << endl; return 0; }
- 해결됨홍정모의 따라하며 배우는 C++
영상 (28:00) 결과물이 달라요~!
Q1) 저는 cout 출력이 한 개밖에 안뜨는데, 왜 그런 걸까요? 노트북이 오래되서 그런가.. 코드는 동일합니다! 이제보니 작동시간도 4일로 되있네요.. 오늘 켰는데 왜저럴까.. 노트북문제인가.. Q2) 영상에서는 return을 안하시던데 멀티쓰레딩은 return하지 않나봐요!?
- 미해결홍정모의 따라하며 배우는 C++
2.4 void (값이 없는 void, 메모리 주소도 없나요?)
답변을 달아 주실지는 모르겠지만 일단 이 글을 읽어주셨다는 것에 감사를 표합니다. void 관련 질문입니다. "void 는 값이 없다 " 라고 알고 있는데 'void는 값이 없다' =' 메모리 주소도 없다' 라고 생각해도 될까요? 또는 void가 메모리 주소를 가지고 있는지 없는지 판별할 수 있는 코드나 함수가 있을까요? 메모리 주소를 보고 싶어서 void를 변수 선언했더니 강사님 말씀대로 역시나 안 되더라구요. 날이 많이 춥네요. 감기조심하시고 모두모두 건강 + 실력 쑥쑥 되길 바라겠습니다.
- 미해결홍정모의 따라하며 배우는 C++
20:50에서 코드가 오류가 뜹니다
auto[a, d] 이부분에서 오류가 뜨네요. c++ 17로 교체했는데 이유가 뭐죠
- 미해결홍정모의 따라하며 배우는 C++
질문이 있습니다.
참조나 포인터를 통한 다형성 구현은 허용되고 영상에서의 b = d와 같이 대입을 통한 다형성 구현이 허용되지 않는 이유가 뭔지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C++
3.2 산술연산자, 강의 동영상 9분 질문
-5 / 2 는 -2가 나온다고 하셨는데, -2.5로 출력하려면 어떻게 해야 하나요?
- 해결됨홍정모의 따라하며 배우는 C++
(2:15) 메모리 누수의 이유를 이해하지 못했습니다.
Q1) "클래스 Person을 지우려 할 때, 맴버 변수인 m_partner도 지우려고 시도할텐데, 문제는 count가 되서 지울수가 없다." 라고 말씀해주셨는데, 그 count라는 게 어떤 걸 말씀하시는 건가요...? 추론1) shared_ptr의 특성상 내부적을 자신이 가리키고 있는 주소의 포인터가 몇 군데인지 세고 있다는 것에 대한 count를 말씀하시는 건가요? 만약 그렇담 그 count가 어째서 문제가 되나요..? 추론2) 혹시 라이브러리 <memory>에서 작동하는 원리에서 count라는 것이 있는데 그 곳에서 문제가 발생된다는 것이라면 아직 제 단계에서는 이해하기 어려워요.. 좀 더 쉽게 설명해주실 수 있으실까요? Q2) 좌우지간, 그 count라는 문제로 인하여 순환이 되지 않으니 weak_ptr를 써야한다는 것이 이번 강의의 내용인거죠?
- 미해결홍정모의 따라하며 배우는 C++
4:55초때 질문이 있습니다
선생님께서 Type type = Float 를 선언해주셨는데 이게 무슨말인지 잘 모르겠습니다 type 이라는 변수에 Float 를 할당했다는 뜻인가요?
- 미해결홍정모의 따라하며 배우는 C++
6.18 질문이 있습니다
int main() { int i = 4; int *ptr = &i; cout << (int)ptr+1; return 0; } cout << (int)ptr+1; 여기서 1을 더한다는것은 ptr 이 가진 주소에다 4 byte를 더한다는 뜻인가요?
- 미해결홍정모의 따라하며 배우는 C++
참조 질문이 있습니다
struct Something { int v1; float v2; }; struct Other { Something st; }; int main() { Other ot; int &v1=ot.st.v1; v1=1.0; return 0 } =========================== 이코딩에서 일부분인 int &v1=ot.st.v1;에서 왼쪽 v1 과 오른쪽 v1 은 같은건가요 아니면 왼쪽 v1은 그냥 별명으로 둔건가요?
- 미해결홍정모의 따라하며 배우는 C++
6.14 참조변수 질문
void printElements(int (&arr)[5]) for(int i=0;i<5;i++) { cout<<arr[i]<<" "; } cout<<endl; } int main() {const int length =5; int arr[length]={1,2,3,4,5}; printElements(arr); return 0; } reference 가 parameter 로 받을때는 다르게 쓰이는건가요? int value=5; int &ref =&value; 여기서는 선생님이 ref 는 별명이니까 원래값이 있어야하므로 반드시 초기화를 해줘야된다 하셨는데 void printElements(int (&arr)[5]) 여기서는 다르게 쓰이는거 같네요 어떻게 쓰이는건가요?
- 미해결홍정모의 따라하며 배우는 C++
6.11 질문있습니다
while(true) { int *ptr=new int; cout<<ptr<<endl; } 이렇게 코딩하면 메모리가 계속 증가하는 이유가 뭔가요?새로운 포인터를 계속 만들어내서 인가요?
- 미해결홍정모의 따라하며 배우는 C++
부동소수점 관련 질문
교수님 안녕하십니까. 다음과 같이 값을 대입해 주었는데 데이터가 옮겨가면서 3069 -> 3069.4182.. 와 같이 값이 바뀌었습니다. 이것도 부동소수점 문제인건가요?? 부동 소수점 문제라면 이러한 문제를 해결하는 방법이 있을 까요?
- 미해결홍정모의 따라하며 배우는 C++
질문드립니다ㅠㅠ
비전공자라 많이 서툰지라.. 열심히 배우기 위해서 질문드려봅니다!! ㅠㅠ 이번에 벡터의 성분 합을 직접 표현 해보고 싶어서, 교수님이 알려주신 다양한 방법들을 통하여 아래와 같은 코드를 짰습니다. #include <iostream> #include <cstdarg> using namespace std; class y_vector { private: int m_size; int *vector; public: y_vector(const int& size) : m_size(size) { vector = new int[m_size]; } ~y_vector() { delete[] vector; } y_vector& set_array(int value, ...) { va_list list; va_start(list, value); for (int i = 0; i < m_size; i += 1) { if (i == 0) { vector[i] = value; continue; } else { vector[i] = va_arg(list, int); } } va_end(list); return *this; } void print_array() { for (int i = 0; i < m_size; i += 1) { cout << vector[i] << " "; } cout << endl; } bool is_same_size(const y_vector &v) { return v.m_size == this->m_size ? true : false; } y_vector& operator + (const y_vector& v) { y_vector dum(this->m_size); if (is_same_size(v)) { for (int i = 0; i < this->m_size; i += 1) { dum.vector[i] = this->vector[i] + v.vector[i]; cout << dum.vector[i] << endl; // 함수 내부에서는 잘되는 지 확인하려고 넣어둠 } } else { cout << "Size is not Same" << endl; return *this; } } }; int main() { y_vector yh_1(5); y_vector yh_2(5); y_vector yh_3(6); yh_1.set_array(3, 2, 1, 4, 6); yh_2.set_array(1, 1, 3, 9, 12); yh_3.set_array(2, 8, 3, 4, 7, 5); y_vector yh_4 = yh_1 + yh_2; yh_4.print_array(); return 0; } 위에 보면 체이닝을 위하여 + 산술자를 오버로드 한 함수와 벡터 성분을 결정지어주는 set_array 함수를 y_vector& 타입으로 받아주었습니다. 그러다 보니, + 산술자 함수의 리턴 값으로 어떠한 클래스를 설정해주기 위해 함수 내부적으로 임시적인 클래스의 인스턴스(dum)을 생성해 주었는데, 해당 영역에서 나가게 될 경우 소멸자에 의해 동적 할당 된 vector사라지다 보니, yh_4.print_array();에서 쓰레기 값을 출력하고, 프로그램에서 런타임 에러가 계속 발생하게 됩니다.. 입력 값으로 들어가게 된 인스턴스와 같이 연산이 되는 this에 해당하는 인스턴스의 값을 바꾸지 않고(const로 생각하여) 다른 클래스를 생성하여 반환하는게 가능 할까요..? 동적할당이다보니 불가능할것 같기도 하고, 제가 많이 알지 못하다 보니 할수없는 것을 잡고있는건지, 제가 못하는 건지도 모르겠어서 질문드립니다..
- 미해결홍정모의 따라하며 배우는 C++
생성자 안에서의 try catch 질문입니다
3:04에서 throw가 없는데 작동한다는 것에 질문입니다. class A에서 throw된 에러가 class B에서 잡히는데 이 때 main함수의 try안에서 만들어진 객체 b가 정상적으로 만들어지지 않아 한번 더 catch 된 것인가요?