월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
strcpy() 구현 관련 질문
포인터로 strcpy()를 구현할 때,1 char* StrCpy(char* dest, const char* src)2 {3 char* ret = dest;4 while (*src != '\0')5 {6 dest = src;7 dest++;8 src++;9 }10 *dest = '\0';11 return ret;12 }dest 포인터 변수를 반환하면 main 함수에서 출력 시 아무것도 출력 되지 않고, 3번째 줄처럼 dest 주소를 다른 char형 포인터에 저장하고, 해당 포인터 변수로 main함수에 반환을 해야 정상적으로 출력이 됩니다.어떤 이유에서 dest 포인터 변수는 출력이 안되는지 모르겠습니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
어떠한 경로에서 파일 혹은 디렉토리를 찾지 못한다는 것 같은데 어떻게 해결 할 수 있나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
클래스 타입의 포인터 질문합니다
class Knight(){public:void GetHp(){}}int main(){(1) Knight k1k1.GetHp()(2) Knght *k1k1->GetHp()함수를 호출할 때 멤버 함수 같은 경우 어떤 특정 객체의 주소를 넘겨주는 것까지 포함하고 있는 규약을 따르고 있고 마치 포인터와 유사하듯이 k1의 주소 즉 Knight의 스택 주소를 넘겨줘서 멤버 함수 내부에서 자기 자신의 정보를 수정할 수 있다고 알고 있습니다 .k1이 포인터 타입일 경우와 아닐 경우 둘 다 Knight의 주소를 담고 있지만 큰 차이점으로는 k1은 Knight의 스택 주소를 갖고 있고, 그 스택 영역이 끝나면 k1으로 더 이상 Knight의 접근할 수 없고*k1은 Knight의 힙 영역에 주소를 갖고 있는 것이 큰 차이점이라고 보면 될까요?int a=1 int *b=&a 그리고 포인터는 b의 변수에 a의 주소를 갖고 있고 그 주소를 타고 가면 int타입이 있을 것이라고 했는데 Knight *k1는 k1의 어떤 주소가 담겨 있는데 그 주소로 가면 Knight 타입이 있다는 의미인데 k1의 어떤 주소를 갖고 있는지 명시하지 않아도 Knight의 주소를 갖고 있을 것이라고 어떻게 아는 것일까요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
입력값을 enum 값에 넣어주는거 이제 막혔나요?
7:20 분 처럼입력값을 enum 값에 넣어주려고 하는데'형식 이름을 사용 할 수 없다' 라고 뜨는데막힌건가요??오류문 온라인 검색해기랑구글에 영어로 검색해봐도관련 자료 뜨는게 없는데..이럴떈 어떻게 검색하는게 좋을까요??
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
템플릿 특수화 관련 질문
안녕하세요. c++ 강의 중 "템플릿 기초 #1" 듣다가 질문이 생겨 남깁니다.템플릿 특수화가 필요한 이유를 모르겠습니다. 아래 두 코드를 비교했을 때 굳이 템플릿 특수화를 해야 하는 이유가 무엇인가요? 또, 템플릿 특수화가 필요한 상황은 어떤 상황이 있나요??<템플릿 특수화 사용한 경우>template<typename T> void Print(T a) { cout << a << endl; } template<> void Print(float a) { cout << "템플릿 특수화" <<endl; cout<< a << endl; }<오버로딩 사용한 경우>template<typename T> void Print(T a) { cout << a << endl; } void Print(float a) { cout << "템플릿 특수화" <<endl; cout<< a << endl; }컴파일러에 돌려보니 결과도 똑같이 나옵니다. 너무너무 궁금합니다ㅠㅠ 감사합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 관련 질문합니다!
배열을 포인터 변수로 받을 때 포인터 변수는 배열의 시작 주소를 갖고 있는 변수로 알고 있습니다! 예를 들어 배열의 시작 주소를 담고 있는 포인터 변수가 *str이라면근데 함수 내부에서 배열에 인덱스 값에 접근할 때 str[i] 접근하는데 포인터 변수를 어떻게 배열처럼 사용할 수 있는지 그 원리를 잘 모르겠습니다..!
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Unable to start assembler. Check your settings.
이 에러가 뜬 경우에는 https://github.com/Dman95/SASM/releases/download/v3.12.1/SASMSetup3121.exe이 버전을 다운로드 받은 후, 세팅에서 에셈블리 옵션을 아래처럼 변경해주시면 됩니다.-g -f win64 $SOURCE$ -l $LSTOUTPUT$ -o $PROGRAM.OBJ$
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
cpu선택
제가 인텔 cpu로 컴퓨터를 사려고했는데 언리얼에서는 인텔cpu의 p코어가 파킹되는 현상이있다하더라구요 라이젠을 사는것이 좋을까요?현업에서 사용하는 cpu가 궁금합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 질문이 있습니다
포인터 값을 증가시키면 해당 포인터 자료형만큼 주소가 이동한다고 했는데요!(ex. int* 면 4byte씩, char* 면 1byte씩)근데 스택프레임에서의 주소 이동은 32bit면 4byte, 64bit면 8byte 단위로 이동하는걸로 알고 있는데, char* 형 이동 단위인 1byte씩 움직이는것도 가능한건가요???ex.char number = 1;char* pointer = &number;pointer += 2;만약 위처럼 코딩이 되어있을 때, 메모리를 까보면 pointer 주소값이 2byte 증가해 있는데, 이렇게 되면 32bit 기반 스택프레임에서 4byte의 절반인 0.5블럭만 갖게 되는 건가요????
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
20:35 에서 구조체 크기에 대한 질문입니다!
구조체 자료형이 뭐든간에 변수 하나당 4byte로 스택 프레임에 공간을 확보한다고 하는데, 그러면 굳이 자료형을 선언하는 의미가 무엇인가요?그리고 4byte로 스택 프레임에 할당하면 이 변수가 자료형이 몇인지 어떻게 아나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
iterator 삭제관련
iterator 삭제 관련 질문입니다.for 문에서 v.erase(it)를 이용하면 해당 공간에 iterator 정보가 사라져 다음 순번때 에러가 발생합니다.for문을 사용하지 않고 erase를 동일하게 2번 적용할 경우 이떄는 정상적으로 작동합니다. v.erase(v.begin() +2); v.erase(v.begin() +3);두 가지 방식이 삭제하는 방식이 같다고 생각되는데 무슨 차이가 있는지 궁금합니다. 감사합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
함수 호출을 하다가 리턴하기 전에 eip가 널이 되면 어떻게 동작하는지 궁금해서 한번 시도해봤는데요.예를 들면 main() 함수에서 A() 함수를 호출하고 또 A() 함수에서 중간에 B() 함수를 호출하는데B() 함수를 리턴하기 전에 eip 값을 0x00000000과 같은 널 값으로 고쳐보았습니다. 이렇게 하면 리턴하고나서 뭔가 에러?엑세스 위반? 이라는 게 뜨는 것 같더라구요근데 만약 이렇게 해서 엑세스 위반이 났을 때 어떤 함수를 호출할 때 잘못됐는지 디버깅 상에서 추적하려면 어떤 순서로 추적해야하는지 궁금합니다!
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
15 분 45초 대 질문
int MultiplyBy2(int a){ int result = a * 2; return 0;}이 부분에서 return 0 값을 왜 result 로 바꿔 줘야하는건가요? 혹시 a * 2로 바뀐 값을 리턴으로 보내줘서 선생님의 설명과 같이 a * 2 를 보내줘야 하기에 result를 넣는건가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
스택 프레임 질문합니다!
함수 영역 스택 프레임이 [매개변수][RET][지역변수] 이렇게 세팅 되어 있다고 알려주셨는데요!다음 함수를 호출 할 때 매개변수 값만 넘겨주는 것이지 매개변수 주소와 주소 반환 값 주소는 여전히 이전 함수에서 스택 프레임 영역에 있고 다음 함수는 다시 스택 프레임 영역을 지정하고 지역변수 주소는 온전히 자기 영역에서 관리하는 것이라고 이해하는 것이 맞을까요?그리고 넘어온 매개변수 값을 사용할 때 해당 함수 지역변수로 봐야 할까요?그리고 다음 함수에서 스택 프레임 영역을 지정할 때 왜 이전 함수 베이스 포인터 주소를 저장하는지도 궁금합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
오른값 참조 in 게임
좋은 강의 항상 감사합니다!오른값 참조를 영상을 다보고 드는 생각이 게임에서 내 캐릭터 정보를 다른 서버로 이전하고 싶은 경우, ex) 메이플스토리 : 버닝섭 -> 타서버로 월드리프내 캐릭터 정보를 해당 서버로 복사하고 본래 서버에 있는 캐릭터를 삭제하는 것보다, 오른값 참조처럼 이동시키면 캐릭터 정보가 이전되는 것과 본래 서버에서 내 캐릭터가 삭제되는 것까지 해결될 것 같다고 생각이 들었는데!!실제로 캐릭터 정보를 다른 서버로 이동시키는 작업에서 오른값 참조가 사용되는 것인가요??
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
동적할당 질문이 있습니다
배열이 아닌 그냥 클래스 객체 같은 경우에 동적 할당은 왜 필요한가요?CTest* test1 = new CTest();CTest test2;이러한 경우에 포인터를 이용한 동적할당이 갖는 이점은 뭔가요??그리고 void* 에서 void는 auto 같은 개념으로 이해하면 되나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요 메모리에 대해 질문드립니다.
메모리에서 높은 주소와 낮은 주소가 어떻게 다른건가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수객체 의 매개변수
루키스님 안녕하세요. 질문 있습니다!영상에서 람다식 사용 이전isuniqueitem 함수 객체를 통해 find if 매개변수로 넣어주셨는데요. Isuniqueitem은 매개변수로ITEM& item이 들어갑니다. 하지만 임시 객체 어떠한 부분에도 item을 넣어준 적이 없는데 어떻게 작동하는걸까요? F12 통해 보려고해도 이해가 잘 되지않아 질문 드립니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
복사생성자
루키스님 안녕하세요. 복사생성자에 대해 궁금한 점이 있어 문의 남깁니다.Knight knight = Kngith(); 이렇게 선언할때에는 어떤 생성자가 호출이 되는 건가요?제가 생각한 내용은 다음과 같습니다1. Knight() 를 통해 임시 객체를 만든다 -> 기본생성자 호출금방 기본생성자를 통해 만들어진 Knight의 임시객체를 knight에 대입한다.3. Knight knight는 복사생성자를 호출하여 임시객체를 복사한다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요