월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수는 프로세스의 어느 영역에 저장이 되나요?
변수를 선언하면 data 혹은 bss에 저장이 됩니다. 함수를 선언하면 프로세스의 어느 영역에 저장이 되나요? (혹시 함수의 선언부는 bss에, 구현부는 data에 저장이 되나요?)
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
예외처리
1번문제 바른 코드로 고친뒤 실행하는데 디버깅하면서 실행이라고 누르면 예외처리를 안해주었다고 뜨는데 이게 무슨예외인지 알 수 있을까요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
참조와 배열에 대해서 질문드립니다.!
안녕하세요! 간단한것 같지만 참 아리송한 문제로 긴 삽질 끝에 질문 드립니다 선생님..! StatInfo& monster_2 = *(monsters + 2); 위의 코드중 '*' 참조 하는 부분이 이해가 잘 되지 않습니다.! 위의 코드는 배열의 3번째 요소를 monster_2 로 사용하고 싶은 목적이라고 생각이 듭니다.! 그러면 StatInfo& monster_2 = (배열의 3번째 요소의 주소) 일텐데. 그러면 참조를 할 필요 없이 배열명은 배열의 시작 주소이기 때문에 monsters + 2는 이미 배열의 3번째 요소의 시작 주소이고 따라서 참조를 하지 않아야 맞는게 아닌가 라는 생각이 절 괴 롭고 미치게 합니다...ㅜ 오히려 참조를 하면 주소 monsters + 2 안에 들어있는 값으 로 이동을 하려 할테고 그러면 세그먼트 오류가 나야 맞다고 생각이 드는데.. 살려주세요 선생님
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Template은 어떻게 공부하면 좋을까요?
Rookiss님 안녕하세요. 좋은 강의 찍어주셔서 즐겁게 공부하는 수강생입니다. C++ 프로그래밍 입문 강의에서 어셈블리도 직접 까보면서 공부하다 보니 자연스럽게 cpp library가 어떻게 구현되어 있는지 궁금해졌는데요. 강의 중에서도 여러 번 언급하시지만 template에 대해 더 공부해보고 싶어 질문드립니다. Rookiss님 template 강의가 나온다면 그때 수강하면 좋겠지만 당분간 게임 개발 시리즈 제작으로 바쁘신 것 같아서요. 혹시 추천하시는 책이나 자료가 있을까요?
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
다형성#2 강의에 싱크가 맞지 않는 것 같습니다.
강의 관련 오류는 어디에 문의해야할지 몰라서 여기에 글씁니다. 다형성#2 15:50부터 음성과 화면의 싱크가 안맞는게 느껴집니다. 싱크가 안맞는지 확인해보고 싱크 맞출 수 있다면 싱크 맞추는게 좋을 것 같습니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
C++강의 시리즈들이 C#강의들을 선수 학습 할 필요는 없는 강의 인거죠 ?
유니티말고 이쪽강의만 수강하고 싶은데 C#강의에서 언급한것들을 공부 하고 왔다고 가정하고 진행하는 강의는 아니죠 ?? 현재 제 수준은 시중에 파는 C언어 입문, C++ 입문책들을 한바퀴씩은 돌려보고, 언리얼을 아주 조금 만져본 상황입니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
이중 포인터 질문
이중포인터 변수에게 개체멤버가 지닌 포인터 변수의 주소를 넘기려하는데 오류가 나서 질문드립니다. 포인터변수인 멤버변수가 private으로 닫아놓고 GetAddress. 예로들어 private Node* address - 멤버변수 public Node* GetAddress() { return address } -멤버함수 - 방식입니다. 이것을 Node* node = ~~ Node** dbAddress = &(node->GetAddress()); 라는 코드를 작성하면 오류코드 : error C2102: '&'에 l-value가 있어야 합니다. 그리고 식은 lvalue 또는 함수지정자가 있어야합니다. 라고뜨는데 포인터변수의 주소를 넘기는건데 이게 왜 오류가나는지 궁금합니다
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
자식 리소스 접근
class Item { int _itemType=0;} class Weapon: public Item { int _attack=2; } 라고 클래스를 정의할 때 Item* item = new Weapon(); 이라고 선언한다면 item->_attack에 접근이 불가능합니다. ---- 질문1 ----- item->_attack에 접근하는 가장 현실적인 방법은 Weapon* weapon = (Weapon*)item; 새로운포인터를 선언하여 weapon->_attack으로 접근하는 것인가요? ---- 질문2 ---- virtual 소멸자 선언을 하지 않았을 경우, delete item; 는 Item에 대한 소멸자만 호출할 뿐 Weapon의 소멸자를 호출하지 않습니다. 그럼 힙영역에서 _itemType만 해제되고 _attack타입의 크기만큼 메모리 누수가 일어나나요?
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 - 메모리 캐싱
삭제된 글입니다
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
어셈블리어를 어느 정도까지 알아야 할까요?
초반 어셈블리어 강의를 듣고 C++과 어셈블리어를 연계하여 설명하는 강의를 들었는데 어셈블리어에 대한 필요성을 느꼈습니다. . C에서 C++로 C++에서 C#으로 넘어가는 등 프로그래밍을 배울 때 최신 기술들이 아무리 많이 나와도 다 이전 기술들을 기반으로 나왔다는 것이 느껴집니다. . 이전 기술의 이전 기술 그 보다 더 이전 기술인 오리지널이라고 해야하나? 아예 밑바닥 기술을 탄탄히 해야한다고 느끼고 있습니다. . 과거에 회사에 소속되어 개발자 일을 하시다가 최근 프리랜서로 전환하신 분이랑 얘기를 해봤는데, 본인은 과거 카드에 구멍을 뚫어서 프로그래밍 하던 시절이 있었다고 요즘 프로그래밍은 과거에 비해 너무 쉬워지고 유니티 같은 쉬운 툴도 많이 생겨서 기초를 탄탄히 쌓지 않은 개발자들이 많이 양산되고 있다고 하시더군요. 과거에 어렵게 프로그래밍 하시던 시절이 후회 되냐고 물어보니, 그 어렵게 프로그래밍 하던 시절이 있어서 본인 기본기가 탄탄해졌다는 뉘앙스로 말하셨어요. . 그래서 더욱 오리지널 기술인 기반 기술, 밑바닥 기술 같은 것을 탄탄히 해야 하는 것을 느끼고 있습니다. (만약 제가 느끼고 있는 것이 잘못된 것이라고 생각하시면 잘못된 것이라고 말해주세요.) . 근데 어셈블리어 말고 배울게 많죠. 지금 이 강의를 듣고 있는 C++, 게임수학, 다이렉트X, 서버 등 이후 코드 깔끔하게 작성하는 법, 리팩토링 하는 법, 게임 디자인 패턴 등도 공부해야 하는데 현업에서 필요할 때마다 디버깅 해서 또 필요하면 어셈블리까지 까봐야죠. . 강의 들으면서 설명 해주는 것으로 C++을 어셈블리어로 해석하는 것은 되지만, 혼자 스스로 하는 것은 잘 안되더라고요. 추상적으로 이 흐름이겠지라고 예측하는 정도이려나? . 그래서 어셈블리어 공부를 따로 해서 어셈블리어를 탄탄하게 공부하는 것이 좋을까요? 아니면 추상적으로만 알고 있는게 좋을까요? 만약 추상적으로만 알고 있는거면 어느 정도 추상적으로 알고 있는 것이 좋을까요? 또 지금 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋다면 어느 수준에 올라갔을 때 어셈블리어를 탄탄하게 공부하는 것이 좋을까요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
_pet = new Pet(*knight._pet);
class Pet { }; 에서 생성자에 Pet(const Pet& pet) 같은 복사 생성자를 만들어 주지 않았는데 _pet = new Pet(*knight._pet); 이 코드가 통과 되는게 이해가 안갑니다 ㅜㅜ
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
언리얼 DB 및 웹
이미 비슷한 내용의 질문이 있었지만 이번에 처음으로 언리얼 엔진을 제대로 배우는 것이라 언리얼 강좌에서 빠지게 된 db와 웹 관련 내용들도 확실하게 공부해두고 싶습니다... 유니티 강좌의 데이터베이스 파트(5)와 웹 강좌 파트(6,8~번외?)를 들어도 언리얼 엔진에 거의 동일하게 적용이 가능할지 여쭤보고 싶습니다
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
비쥬얼 스튜디오 이외에 IDE는 거의 사용되지 않는지 궁금합니다
안녕하세요. 아무래도 인텔리제이를 쓰다가 언리얼 엔진 공부를 해보고싶어서 강의를 듣는중이라서 Jetbrain 의 CLion 이나 Rider 같은 IDE가 인텔리제이 기반의 편의 기능을 엄청 많이 사용하는것 같아서 사용해볼려고 하고있습니다 그런데 이번 강의를 보면서 디버깅 기능이 조금은 비쥬얼 스튜디오가 더 좋은것 같더라고요 보통 현업에서는 비쥬얼 스튜디오 이외에 IDE는 아예 안쓰는지 궁금합니다. 다른 IDE를 쓰게 되면 협업이나 이런 부분에서 민폐일지 아니면 성능상으로 안좋은 점이 있는지 궁금하네요. 만약 다른 IDE도 쓰시는 분들이 있다면 어떤것들이 있는지도 궁금합니다
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
int 자료형에 관한 질문입니다
데이터 자료형에 대한 설명을 해주실 때 int * int 연산은 overflow 가 나기 쉬우니 __int64 자료형을 사용하거나 중간에 (__int64) 로 캐스팅을 해주는 등 꼼수를 써서 해결해야 한다고 하셨는데 그 외에는 해결 방법이 없을까요? 구글링을 해봤는데 제가 키워드를 잘못찾은건지 마땅히 나오는 방안이 없더라고요.. 예를 들어서 게임 상점에서 m 골드 짜리 hp포션을 n개 사고 싶은데(구매 개수에 제한은 없음), 제 골드는 k가 있는거죠 이 상황에서 k - m*n을 하고싶은데, m*n을 계산 했을 때 오버플로우가 발생할 수도 있잖아요 제가 생각하는 해결 방안은 m골드 짜리 아이템을 살 수 있는 최대 개수를 m*n 을 했을 때 오버플로우가 나지 않는 개수로 한정한다(혹시 실제로 게임에서 포션을 999개 단위로 살수 있는 이유가 이런 이유때문인가요?) 아니면 k-m 을 loop문으로 쭉 돌리고 k가 -가 되면 루프 중지하는 조건을 걸면 일단 오버플로우는 나지 않을거고 내부적으로 * 연산도 + 연산으로 구성되어있으니 시간 차이가 곱하기를 하는 것보다 많이 나지는 않지 않을까요???
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
find_if(v.begin(), v.end(), CanDivideBy11());
find_if(v.begin(), v.end(), CanDivideBy11()); 이부분이 이해가 안갑니다 ㅜㅜ 구조체를 만들고 바로 구조체타입 이름으로 함수객체를 바로 쓰고있는데 함수객체를 만들고 쓸려면 CanDivideBy11 canBy11; find_if(v.begin(), v.end(), canBy11(data)); 이런식으로 해야하는거 아닌가요? 이렇게 하면 에러가 나니 아닌건 맞는데 전에 함수객체 시간에서 이해했던것이랑 달라서요 ㅜㅜ
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
deque는 통크기가 4개가 한계인가요?
강의를 보면 데이터가 4개가 넘어가면 다른통을 만들더라구요 데이터가 4개가 차면 다른통으로 넘어가나요??
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
bool ret1 = functor(3); 이게 이해가 안갑니다
bool operator()(int num) { cout << "Functor Test" << endl; _value += num; cout << _value << endl; return true; } 이걸 사용한다면 bool ret1 = functor()3; 이거 아닌가요? 예를 들면 void operator+(int num) { _value += num; cout << _value << endl; } 이걸 쓴다면 functor + 3; 처럼요
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
강의자료는 어디에서 다운로드 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의자료는 어디서 다운로드 하는지요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
동적 할당 질문입니다!
Item* item2 = new Item(); 를 하셨는데요 궁금한점이 Item뒤에 ()를 왜넣는건가요?? 안넣는거랑 차이가 있나요??
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수 객체 질문
함수 객체라는것이 객체를 생성하고 그걸 () 로 오버로딩 된 함수를 호출 하는것 아닌가요?? auto findit = std::find_if(v.begin(), v.end(), FinditemByItemId(itemid)) 의 finditembyitemid는 그냥 객체를 생성해주는것아닌가요? finditembyitemid(int itemid) 라는 생성자를 통해서요. 디버깅을 해보면 저 저것만으로도 bool operator() 가 실행이 되던데 그게 자동으로 되는것인가요? 그러니깐 즉 finditembyitemdid(itemid) 이것이 조건식으로 부합되는 이유가 궁금합니다. 그저 객체를 생성하는것만 하는것이 아닌.