월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
실행(F9)을 하면 자꾸 응답없음이 뜹니다.
sasm 삭제하고 다시깔아봐도 헬로월드 실행이 안되네요.. 무슨 문제일가요? 자꾸 응답없음이 뜹니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
StrCat질문 있습니다.
StrCat함수에 이렇게 작성했는데출력할 때 HelloW만 출력되고 끝나는데어디에 문제점이 있는지 파악하기 어려워서 여쭤봅니다.어셈블리어를 까도 j는 멀쩡히 증가하는데 뭐가 문제인지 모르겠습니다...
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
실수 파트에서
수가 커질수록 오차범위도 커진다는 내용이 이해가 잘 안되는데 예시를 들어주실 수 있으신가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
스마트포인터 25분 근처
같은부분 해봤습니다visual studio 2022버전이고컴파일러는 c++ 20 버전입니다 주석 단 것처럼 되는데 수업중 설명하고 다른거같습니다출력하면 소멸되었다는 부분이 없다는건 똑같지만 &k2로 들어가지지도 않고scope 후에 조사식에 k2를 쳐봐도 없다고 나옵니다 k2가 왜 삭제가 되는지 모르겠습니다 shared_ptr<Knight> k1 = make_shared<Knight>(); // k1 생성될 때 k1의 ref count가 1로 초기화된다 // 괄호 안은 ref count // k1 [ 1] { shared_ptr<Knight>k2 = make_shared<Knight>(); // k2 생성될 때 k2의 ref count가 1로 초기화된다 // k2 [ 1] k1->_target = k2; // k2를 타겟으로 하고 있어서 k2의 ref count가 올라간다 // k2 [ 2] k2->_target = k1; // k1을 타겟으로 하고 있어서 k1의 ref count가 올라간다 // k1 [ 2] } // scope가 끝나서 k2가 참고하는 객체가 사라졌다... 사라지면 안되는거 아닌가? // k1을 타겟으로 하던 k2가 사라졌지만 // k1 [ 2]가 유지되었다 k1->Attack();
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
26분에 pet을 nullptr로 바꾸는 이유
소멸자에서if (_pet) 은pet이 nullptr이 아닐 때 참이되어 _pet을 지울건데 이동대입연산자에서 knight의 _pet을 nullptr로 바꾸면소멸자의 if문을 통과하지 못해서_pet이 삭제되지 않는거 아닌가요?? 이동대입연산으로 똑같은 pet을 만든 다음에pet을 넘겨줬으니까삭제해도 되는거 아닌가 해서 질문드립니다
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
문자 질문입니다.
혹시char ch3 = 'a' + 1;이 코드에서 1은 int형 정수로 출력이 되는데 char 타입이 자동으로 변환을 해서 2바이트로 할당하게 되는건가요?그리고 1이라는 숫자에 마우스 커서를 놔두면 (int)1이라고 표현이 되는데 여기서 1은 데이터타입이 문자가 아닌 정수로 변환해야 해서 자동 변환 시켜주는건지 궁금합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
locale error 해결 방법
안녕하세요. 저는 VScode를 이용해서 해당 강의를 수강중인 학생입니다.VScode window 환경을 사용 중이고 아래와 같은 에러를 확인하게 되서 해결 방법이 궁금합니다. 구글링을 통해서 해결하려 했고 제어판에서 유니코드 제외 언어 설정이 한국어로 되어 있는 것도 확인하였습니다.#include <locale>도 해봤으나 에러는 여전했습니다.해결 할 수 있는 방법을 알고 싶습니다. 해당 에러는 wcout.imbue(locale("kor"));에서 발생하는 것으로 확인하였습니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
복습에 대해 질문 있습니다.
안녕하세요. 강의 정말 재밌게 잘 듣고 있습니다.강의를 듣고 복습하려고 하는 중에 복습은 어떻게 해야 하는지 감이 안 와서 여쭤봅니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
게임 세이브 데이터 저장에 대한 고민
안녕하세요 강사님, 스타크래프트나 워크래프트3의 월드맵 에디터와 같은 툴을 개발하여 컨텐츠를 눈으로 보며 개발하고 싶습니다. 이러한 툴들은 기본적으로 Open Save로 개발했던 걸 저장하고 불러올 수 있는데, 이러한 데이터 저장은 어떤 식으로 구현할지 고민이 됩니다. C++ 파일입출력 기능을 쓸지, 아님 특수한 라이브러리를 쓸지... 또한 강사님도 이러한 눈으로 볼 수 있는 툴부터 구현하셨을 것 같은데, 강사님은 어떻게 하셨는지 궁금합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
커리큘럼 질문
C++ 공부하려는데 게임으로 공부하는게 재밌을거같아서 결제했습니다. 근데 선수학습이 C#인데 C#은 지금 안하고싶은데 C언어는 기본은 되어있으니 그냥 이걸로 들어도 되죠?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
list 중간 삽입 삭제와 임의접근간에 관계성에 대한 질문입니다.
질문에 앞서 항상 좋은 강의 감사합니다.공부하면서 생각난 내용에 대한 질문이있어 글 남깁니다.stl 대표적인 자료구조인 vector와 list에 장단점에 대한 질문들이 면접에서 많이 나오는데중간 삽입, 삭제 과정에서 결국 vector와 list 둘다 같은 시간복잡도를 가지는게 아닌가 생각이 드는데 잘못 생각한걸까요?Vector 해당 메모리 참조 및 삭제(O(1)) + 데이터 재정렬(O(N))List 해당 메모리 참조 및 삭제(O(N)) + 참조 노드 개편(O(1))아니면 해당 질문에 논점이 전체 과정(참조과정(임의접근) + 삭제 + 삭제 후 재정렬)이 아닌 참조 과정을 제외한 오로지 삽입,삭제 과정 후 참조 노드 개편이 vector의 데이터 재정렬보다 빠르기 때문에 list가 더 좋다고 하는 건가요? 만약 1번에서 중간 삽입, 삭제 과정에서 참조 노드 개편이 vector의 데이터 재정렬보다 빨라서 중간 삽입, 삭제가 좋다고 하는 거라면 면접에서도 vector는 중간 삽입,삭제과정 이후 데이터 재정렬단계가 존재하기 때문에 list가 더 빠르다라고 대답하는 것이 좋은 대답일까요 ?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
rsp와 스택 시작 위치 질문입니다!
add rsp, 16을 해준 이유는 push 1, push 2를 통해rsp 값이 -16 됐기 때문으로 이해했습니다.초기 스택의 시작지점과 프로그램 종료 전의 rsp가 동일하지 않아서 crash가 생기는건가요?그렇다면 rsp처럼 현재 스택의 top이 아닌 초기 스택의 bottom을 저장하고 있는 포인터도 있는건지 궁금합니다!
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 질문입니다.
C#을 먼저 배웠고, 지금 C++을 배우고 있는 중에 궁금한 점이 생겨 질문 남깁니다. C#은 타입에 따른 값형식과 참조형식이 있다보니 매개변수로 전달하는 과정에서 자동으로 형식을 따라가서 값만 전달하는지 주소를 전달하는지가 결정이 되는데 때에 따라 값형식에 데이터를 수정하고 싶을 경우 ref 키워드를 통해서 수정을 하는데 이게 c++의 포인터와 동일하다고 생각하는게 맞을까요 ?C++ 개발자들의 역량 중 포인터를 다루는 정도가 항상 언급되는데, C#을 배우고 C++을 배우는 입장에서 아직 깊게 C++을 배운게 아니어서 그럴지 모르지만 C++의 포인터가 어느 부분에서 중요하게 사용되는지 잘 모르겠습니다. 1번에서 들었던 값형식의 데이터를 수정할 경우밖에 생각이 안나는데 혹시 중요하다고 매번 언급되는 만큼 게임개발에 있어서 사용하는 경우의 예시를 하나 들어주실 수 있을까요 ?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
SASM 어셈블러 설정에 대한 공유입니다
먼저 파일 경로에 한글이 포함되어 있으면 빌드가 안되고 응답이 없음이 뜨게 됩니다. 특히 사용자 파일명이 한글이라면 기존의 파일명을 포함한 레지스트리 내의 사용자 이름을 싹 다 갈아 엎어줘야 합니다. 구글에 검색하면 방법이 나옵니다.다음으로는 %include "io64.inc"가 안되는 경우입니다. 일단 SASM이 설치된 파일로 갑니다. 우리가 쓰는 NASM파일, include 파일이 있습니다. include파일에 io64가 있을텐데 그걸 복사해서 NASM 파일에 붙여넣기 해줍니다. SASM을 다시 켜서 %include를 해주면 됩니다. 이제 io64 내의 PRINT_STRING을 포함한 이것 저것을 쓸 수 있습니다.도움이 되셨기를 바랍니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
매개변수로 넘어온 배열의 총 길이를 알 수 있는 방법이 없나요?
당연한 말이겠지만, 아래 방식으로 하니까 설명해주신 대로 포인터가 넘어오기 때문에 sizeof(arr)가 8byte로 잡혀서 값이 2로 뜹니다. (64bit 환경입니다)포인터의 size를 계산하려고 시도했기 때문에 이와 같은 오류가 뜨고요.https://learn.microsoft.com/ko-kr/cpp/code-quality/c6384?view=msvc-170C#에서처럼 arr.Length를 통해 배열의 길이를 받아올 수 있는 것이 아니기 때문에, Generic 을 대비한 함수를 만들어서 사용하고 싶은데 별도 함수를 통해 받아올 수 있는 방법이 없나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Asio 기반 서버 멘토링
안녕하세요 루키스님. 질문할 곳을 찾지 못해 이 곳에 질문하게 되었습니다.이번 Asio 기반 C++서버 멘토링을 일단 신청은 해놨는데, 선수 지식으로 part4 게임서버 정도까지의 수강이 필요할까요 ? 요구되는 수준을 알려주시면 감사하겠습니다 !
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
제꺼는 return ret 뒤에 조금 다르게 나옵니다
(포인터 실습. 14분 38초) 비주얼 스튜디오 2022, x86에서 디스어셈블리 확인했습니다 ret.hp = 100;000A245E 8B 45 08 mov eax,dword ptr [ret]000A2461 C7 00 64 00 00 00 mov dword ptr [eax],64h ret.attack = 10;000A2467 8B 45 08 mov eax,dword ptr [ret]000A246A C7 40 04 0A 00 00 00 mov dword ptr [eax+4],0Ah ret.defence = 2;000A2471 8B 45 08 mov eax,dword ptr [ret]000A2474 C7 40 08 02 00 00 00 mov dword ptr [eax+8],2 return ret;000A247B 8B 45 08 mov eax,dword ptr [ret]}000A247E 52 push edx000A247F 8B CD mov ecx,ebp000A2481 50 push eax000A2482 8D 15 A4 24 0A 00 lea edx,ds:[0A24A4h]000A2488 E8 A3 ED FF FF call @_RTC_CheckStackVars@8 (0A1230h)000A248D 58 pop eax000A248E 5A pop edx000A248F 5F pop edi000A2490 5E pop esi000A2491 5B pop ebx000A2492 81 C4 D4 00 00 00 add esp,0D4h000A2498 3B EC cmp ebp,esp000A249A E8 F5 ED FF FF call __RTC_CheckEsp (0A1294h)000A249F 8B E5 mov esp,ebp000A24A1 5D pop ebp000A24A2 C3 ret return ret;000A247B 8B 45 08 mov eax,dword ptr [ret]ret 뒤에 이렇게 한줄 나오고 없어요어떻게 해석해야할까요??
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
x84, x64 스택 메모리
스택이 높은 주소 에서 낮은 주소로 값이 저장 되는 것으로 알고 있었는데 x64 에서는 스택 메모리의 저장 방법이 다른건가요? x64로 실행했을 경우 메모리 까보면 낮은 주소에서 높은 주소 순서대로 저장되는 걸로 보이네요
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
c++ 강의 듣고있는데 혹시 강의자료가 있을까요?
강의 자료가 없다면 참고하면서 볼 서적이 있는지도 궁금합니다사실 fundemental c++ 프로그래밍 원리 라는 책을 제가 주문했습니다만은앞의 어셈블리어 파트는 이럴만한 레퍼런스가 없어서 복습할 때 뭘 보면서 해야 할지 모르겠네요
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
StrCmp 질문 있습니다
char a[BUF_SIZE] = "Hello";char b[BUF_SIZE] = "Helloa";일 때StrCmp를 실행 하고 난 후 이 부분에서 i 가 5일 때 a[i] 의 값이 '\0' 인데 왜 while 문을 한번 더 도는지 잘 모르겠습니다