월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
13:00 숫자입력받고 문자열 입력받기
안녕하세요 1. 13:00경에 숫자입력받고 문자열은입력받을때 아래코드로 실행을하면 cout<<Your age?<<endl; int age; cin>>age; cout<<Your name?<<endl; string name; std::getline(std::cin ,name); cout<<name<<" " << age << endl; Your age? 에 1 엔터 를 하면 Your name? 1이 출력되고 끝납니다. 왜이러는건가요? 1엔터를 치는순간 1과 엔터가 콘솔입력버퍼로 들어가고 1은 cin>>age 에따라 age에 들어가서 버퍼는 엔터말고는 비어버리니까std::getline(std::cin ,name); 에 의해 추가로버퍼로의 문자열 입력이 필요하므로 콘솔창 추가입력이 있어야 콘솔->버퍼-> name 으로의 입력이 최종적으로 끝나고 출력단계로 넘어가야 하는것 아닌가요? 2.위의 오류는 정수입력을 종료하고나서(cin>>age 아랫줄에) std::cin.ignore(32767,'₩n') 을 입력하면 해결되는데 std::cin.ignore(32767,'₩n') 은 구체적으로 무슨역할을 하는건가요?
- 미해결홍정모의 따라하며 배우는 C++
3.9강 비트마스크/비트플래그 연습문제 해답
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. ------------------- 강의종료후에 마지막에 들어주신 예제 2문제에 대한 해답입니다. 여유되면 맞는지 확인부탁드립니다! 1. #기사를 봤을때 my_articles_flag |= option_viewed; #기사의 좋아요를 클릭했을때 my_articles_flag |= option_liked; #기사의 좋아요를 다시클릭했을때 if(my_article_flags & option_liked) { my_articles_flag ^=option_liked;} (이중클릭시 좋아요를 취소하는 개념으로 구현했습니다.) #본기사만 삭제할때 if(my_article_flags & option_viewed) {my_article_flags|=option_deleted;} 2.드모르간의 법칙
- 해결됨홍정모의 따라하며 배우는 C++
[9.5] postfix operator overloading 실행시 쓰레기값 출력 문제
작성한 코드는 아래와 같으며, 첨부한 콘솔창 이미지파일에서 보이는 것처럼 postfix operator overloading 실행 시 그 결과에 쓰레기값이 출력됩니다. 제 생각에는 Digit class 내부의 Digit& operator ++ (int) 함수 내부의 ++(*this); 에서, this가 제대로된 참조를 하지 못해서 그런 것 같다고 생각합니다. 정확한 원인과 해결방법을 알려주시기를 부탁드립니다. // 증감 연산자 오버로딩 #include <iostream> using namespace std; class Digit { private: int m_digit; public: Digit(int digit=0):m_digit(digit){} // prefix Digit& operator ++ () { ++m_digit; return *this; } // postfix needs dummy Digit& operator ++ (int) { Digit temp(m_digit); ++(*this); return temp; } friend ostream& operator << (ostream& out, const Digit& d) { out << d.m_digit; return out; } }; int main() { Digit d(5); cout << ++d << endl; cout << d << endl; cout << d++ << endl; cout << d << endl; return 0; }
- 미해결홍정모의 따라하며 배우는 C++
ostream 질문
//class friend std::ostream& operator << (std::ostream & out, const Point &point) { out << m_x <<" " << m_y << " " << m_z; } //main cout << p1 ; -------------- 여기서 보면 friend std::ostream& operator << (std::ostream & out, const Point &point) 에 매게변수가 2개 들어오는데 main은 Point p1으로 매게변수2(const Point &point)만 전달받는 것 같은데, 매게변수1(std::ostream & out)에는 어떤 값을 전달 받는 것인가요??
- 미해결홍정모의 따라하며 배우는 C++
연산자 질문
연산자 오버로딩에 관해서 궁금한 게 있습니다. Cents operator + (매개변수) { return ; } -------------------- 위의 구조가 반환 자료형 operator + ☜ 함수명 (매개변수) { return ; } ----------- 이 맞나요? ======================= operator int() { return m_cents; } -------------------------- 이 구조는 operator 반환 자료형() { return m_cents; } --------- 이 맞나요? 형변환에는 "+" 함수 명이 없는데 어떻게 호출하는지 알 수있나요?? 그리고 operator 는 const 같이 특별한 기능을 수행하는 명령어 인가요 ?
- 미해결홍정모의 따라하며 배우는 C++
질문드립니다
안녕하세요. c++아예 모르고 이 강의를 기초 강의로 생각해서 수강하고 있는데 쉽지 않네요..ㅠㅠ class에 대한 설명은 아직 안해주셨는데 왜 class를 하면 enum이라는 사용자가 설정한 자료형끼리 비교가 안되게 구분이 되는지 이런거 이해하기가 어렵네요.. 그래서 그냥 뒤에서 다시 배우겠지 하고 넘어갔는데 뒤쪽 스위치문 배울때도 다시 enum class 가 나와서 그것도 그냥 넘어가려합니다. 이렇게 하나씩 이해 못하고 넘어가니 c++이 어렵다는 생각만 생기고 따라가기 버겁네요..ㅠㅠ 뒤에 강의들 수강하면 이해 되겠죠..?
- 해결됨홍정모의 따라하며 배우는 C++
질문있습니다.
9:00 int x = 0; int y = 1; if ((!x) == y) { cout << " x does not equal y" << endl; } else cout << " x equals y" << endl; 위 식에서 if는 x,y 중 하나만 false의 값을 가졌을때 true가 되며 나머지는 항상 false입니다. 0이 아니면 true인데 y가 2 이상이 되면 false가 됩니다. 왜이런가요?
- 미해결홍정모의 따라하며 배우는 C++
[05:03] c++ 17 , x64 에서 컴파일 됩니다.
안녕하세요? [05:03] c++ 17 , x64 에서 컴파일 됩니다. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C++
insert
만약에 map.insert({'d',10}) 이거랑 map.insert(std::pair('d',10)) 이거랑 차이가 뭔가요??
- 홍정모의 따라하며 배우는 C++
고정된 너비 정수의 단점
삭제된 글입니다
- 홍정모의 따라하며 배우는 C++
클래스 초기화 관련
삭제된 글입니다
- 미해결홍정모의 따라하며 배우는 C++
11:49 경에
안녕하세요. 강의 잘 듣고 있습니다. 11:49 경에 int (Something:: * fptr1)() = &Something::temp; cout << (s1.*fptr1)() << endl; 로 펑션 포인터를 선언하고 출력하였는데, int (*fptr2)() = &Something::getValue; cout << fptr2() << endl; 에서는 펑션포인터를 출력할때 왜 *를 붙이지 않는지 궁금합니다. getValue 함수가 static이라 인스턴스에 상관없이 호출할 수 있는것은 알겠는데 temp함수의 펑션 포인터를 출력할때와 getValue함수의 펑션 포인터를 출력할 때에 *의 유무의 차이가 궁금하네요.
- 미해결홍정모의 따라하며 배우는 C++
간단한 질문 하나 드립니다..^^
교수님 안녕하세요^^ 제가 c++을 늦게 공부하는 기계공학생이라 사소한게 잘 이해 안되는 부분이 있네요..^^ cout 이 std 네임 스페이스 안에 있는 함수 잖아요.(출력함수) 근데 왜 그냥 setprecision()만하면 효과가 없고 cout << setprecidion() 해야만 효과가 있나요? cout을 그냥 단순 출력 함수로 이해하면 안되나요?
- 해결됨홍정모의 따라하며 배우는 C++
배열의 크기가 큰 경우에 관해 질문드립니다.
일반적인 상황에서는 메모리 주소가 해당 자료형에 맞게 순차적으로 할당된다고 말씀해 주셨고 실제로 메모리 주소도 보면서 이해하였습니다. 그런데 앞 강의에서 배열이 굉장히 큰 경우 등은 모든 메모리 주소가 연결 되어있지 않을 수도 있다고 해주셨던거 같은데 이 경우에 해당 배열에 포인터 연산을 사용한다면 문제가 발생하지는 않을지 궁금해 질문드립니다.
- 미해결홍정모의 따라하며 배우는 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는 어디서 온 건가요? 강의 코드를 살펴보아도 선언이 되거나 하지 않은거 같아서요