- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님! 저는 기존에 다른 언어로 코딩테스트를 준비하다가 큰돌님 강의로 C++로 언어를 바꾸고 다시 공부를 하고 있습니다. 자바에서는 String에 temp = s와 같이 작성하면 temp에 s의 주소값이 넘어가게 되고 temp를 어떻게 바꾸던 s도 함께 바뀌게 되어 어떤 로직이든 temp==s는 참이 되는데 C++에서는 string 타입에서 =과 ==이 어떻게 동작하는지가 궁금합니다. 배열에서 배열이름을 주소값으로 사용하는 것처럼 string도 변수명이 첫요소의 주소값인가 생각했는데 코드가 동작하는걸 보면 아닌 것 같아서 어떻게 동작하는지 질문드리고싶습니다. 좋은 강의와 자료를 제공해주셔서 감사합니다.
선생님 풀이 내용 중에 의문이 생겨 질문드립니다. for(int j = 5; j <= a; j *= 5){ ret5 += a / j; } 여기서 a 가 최대 10억 정도가 되는데 최악의 경우 j에 50억이 들어가고 오버플로가 발생할수도 있지 않을까요? j의 타입을 long long 이 아닌 int 로 해도 안전한 이유가 궁금합니다.
강의 3분 17초 기준 10번줄에 나온 ptr1(res) 부분에 대하여 질문 있습니다. 저렇게 되면 "ptr1이 res에 대한 소유권을 가진다"는 것은 알겠으나, ptr1이 outer block을 나가면서 res도 같이 지워진다는 것이 잘 이해가 안됩니다. 10번 줄의 의미가 "res라는 포인터가 있고, 이 포인터를 ptr1이 가리키는 형태"가 아닌, move로 res가 ptr1으로 옮겨진 것인가요? 왜 "ptr1이 사라짐 = res도 같이 사라짐" 이게 되는 것인가요?
안녕하세요~ 3-G 백준 12851번 문제해설 URL 오류발생합니다. 해당 PDF는 v.22.12.20 버전으로 최신 버전입니다. 위 사진처럼 되어있는데 해당 URL은 http://boj.kr/6733d00393ba47a98811a83eb6c643 으로 되어있는데 들어가면 400 에러로 잘못된 요청이라고 나옵니다.
안녕하세요 선생님. 완강을 하고 복습/프로그래머스 문제를 푸는 도중 궁금한 점이 생겨 질문드립니다. 강의를 들을 때 문제를 해설 안 보고 먼저 한 번 풀어보긴 했는데 지금 생각해보면 혼자서 문제를 맞춰본 적이 많이 없는 것 같습니다. 단순히 알고리즘을 적용하는 것 뿐만이 아니라 새로운 아이디어를 떠올려야 하는 문제는 대부분 그렇습니다. 그래서 선생님 강의를 들으면서 한 시간 동안 고민해도 전혀 모르겠으면 해설을 읽고 해당 문제의 접근방식을 이해하고 다음에 유사한 문제가 나왔을 때 적용해서 푸는 식으로 공부를 해 왔습니다. 이런 식으로 어떤 알고리즘을 적용할 수 있거나 전에 풀었던 문제와 유사한 접근방식으로 접근할 수 있는 문제는 풀 수 있게 되었습니다. 하지만 새로운 아이디어가 떠오르지 않는 것은 그때나 지금이나 크게 달라지지 않았습니다. 그래서 지금 프로그래머스 문제를 풀 때도 큰 틀에서는 이런 알고리즘을 적용해야겠다 파악이 가능하지만 세부적으로 들어갔을 때 아이디어가 떠오르지 않아 결국 틀리는 경우가 많습니다. 이런 부분에서 벽이 느껴지는데 재능이 부족해서 그런 것인지, 노력으로 채울 수 있는 부분인지 궁금합니다. 선생님 강의가 아니었으면 이 정도까지 실력을 올리기도 어려웠을 것 같습니다. 감사합니다.
안녕하세요 강사님 마지막 강의를 보니 완강 후에 공부 방향에 대해서 설명을 드렸는데, 코테까지 시간이 남았을 경우에, 이 강의에 나온 문제들을 한 번 더 복습을 하라는 뜻인가요? 실력이 부족한 것 같은데, 여기에서 언급한 문제들 말고 다른 문제들을 풀어봐도 될까요? 아니면 여기 문제들 복습하는 것으로 충분할까요? 코테 준비가 처음이다 보니, 아직까지 조급하게 느껴지는 것 같네요. 늦은 시간에 질문 받아주셔서 감사합니당
안녕하세요. 우선 질문을 좀 많이 드려서 죄송합니다. 15분 6초를 보면 something.getValue()에 10을 대입하는내용이 나오는데요. const가 없는 instance에는 10이 대입이 되고 const가 있으면 안된다는 내용은 이해를 했습니다. 그런데 함수에 값을 대입한다는 개념 자체가 이해가 되지 않습니다. 여기서 something.getValue() 함수는 그냥 m_Value를 return하는 함수인데 이런 함수에 왜 숫자가 대입이 되는건지 이해가 되지 않으며 10을 대입시키면 그 10은 어디로 가는건지도 궁금합니다.
안녕하세요! 수업시간 11분 20초에서요. void print(const Something &st)에서 const와 &를 넣는 이유가 instance를 복사하지 않고 referance로 가져와서 사용하기 위한 것이고 그렇게 하면 main에 만들어진 instance와 print 함수 안에 사용되어진 instance가 주소가 같다고 설명해주셨잖아요. 그런데 이렇게 &를 사용하는거면 앞에 const가 없어도 되지 않나요? 여기에 const가 들어가는 이유는 뭔가요?
#include <iostream> #include <string> using namespace std; class Friend1 { private: string name; friend void Friend2::set_name(Friend1& f, string s); friend void Friend2::show_name(Friend1& f); }; class Friend2 { public: void set_name(Friend1& f, string s) { f.name = s; } void show_name(Friend1& f) { cout << f.name << endl; } }; int main(void) { Friend1 f1; Friend2 f2; f2.set_name(f1, "abc"); f2.show_name(f1); return 0; } Friend2 의 멤버함수인 set_name과 show_name을 클래스 Friend1에 friend선언을 해 주려 합니다. 하지만 private한 name 변수에 접근할 수 없다는 이유로 작동하지 않습니다. 이런 구조로 코드를 작성하는 방법은 없을까요? 아니면 전역함수만 friend 선언이 가능한 걸 까요?
안녕하세요! 강의에서 10분경에 연쇄호출을 설명해주셨잖아요. 보면 add함수, sub함수, mult함수 다 앞에 Calc&를 붙혀서 클래스 안에 있는 함수들이 서로를 참조할 수 있게만들었는데, 왜 print함수에는 Calc%를 붙이지 않고 void를 그대로 사용하나요? 그리고 그럼에도 불구하고 왜 cal.add(10).sub(1).mult(2).print();가 정상적으로 작동하나요?
안녕하세요! 본 강의에서 stack은 heap보다 용량이 작은 대신에 빠르다고 설명해주셨잖아요. 그런데 구글링을 해보면 둘 다 default 사이즈가 1mb라고 나와요. 캡쳐된 사진은 마이크로 소프트 웹사이트에 나와있는 설명인데요. 강의 내용과 웹사이트 설명이 달라서 그러는데 혹시 제가 어떤 부분을 잘못 이해하고 있는 걸까요? 좀 알려주세요.
이미 동일한 질문에 대해서 검색을 해보고 답변을 봤음에도 이해가 되지 않아 질문드립니다! 큰돌님께서는 (y,x)를 사용하신다고 하셨는데 저희가 원래 지금까지 수학 교과과정을 배울 때는 대부분 (x,y)라고 해서 이게 더 익숙할 것 같은데 (y,x)가 익숙하신 이유가 궁금합니다..! 크게 중요하지 않다는 것은 아는데 알파벳상으로도 x가 먼저 오기도 하고 해서 y,x라고 써야 하는 이유가 있는 건지 아니면 큰돌님께서 어느순간부터 그렇게 작성하는 것이 익숙해지셔서 그런건지 알고 싶습니다. 감사합니다.
먼저 양질의 퀄리티 강의를 제공해주신 교수님께 감사의 말씀을 드립니다. 그런데, 어떤 강의에서는 동영상에서 소스코드를 왔다갔다 움직이셔서 보고 따라 치기가 힘들더라구요. 혹시 "홍정모 공식 카페"에 따배씨++에 관한 소스코드가 제공되어 있을까요?? 그렇지 않다면, 어디서 리소스를 얻을 수 있을까요? 감사합니다 :)
#include <iostream> #include <vector> #include <cassert> using namespace std; void printVector(vector<int>& temp, const int index) { assert(index >= 3); static_assert(index >= 3, "index should be less than 3");//여기서 컴파일 에러 } int main() { std::vector<int> vec{ 1,2,3,4,5 }; printVector(vec, 3); } static_assert 에서 에러가 나는데 매개변수를 const 상수화 해도 static_assert문에서 에러가 나는 이유가 뭔가요?