월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[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 문을 한번 더 도는지 잘 모르겠습니다
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
x64로 MultiplyBy(b,a)를 보고 있습니다
4.2 스택프레임 강의 수강중입니다 x32와 x64는 다르다고 하셨는데주소가 4byte, 8byte 차이인거 말고도 push 가 없고 mov만 쓰고 있는거 같기도 했는데 제꺼는 선생님꺼랑 다르게 RDX 레지스터로 mov하는것 같았습니다 mov 해서 b를 넣기 전에는 RDX 값이RDX = 0000014CC24ABD40 였다가 b를 넣고 난 이후에는RDX = 0000000000000005 로 바뀌었는데 주소가 들어가있다가 값으로 바뀌는게 너무 어색합니다기존에 RDX에 들어 있었던 0000014CC24ABD40 는 쓰레기 값인가요??? x64에서 원리가 궁금합니다
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
언리얼5 PC 사양 추천 부탁드립니다.
학습을 위해 PC를 구입하려는데최소사양이나 추천사양이 있을까요?취준을위해 포트폴리오 만들 정도면 좋을것 같습니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
for문 어셈블리
int count부분 제가 할때는 [rbp+4] 라고 나왔는데rbp+4도 스택의 주소일까요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
const 메모리 할당 없이 사용하는 부분 질문입니다
강의 19분 쯤에 나오는부분에서값을 바꿔치기한다고 하셨습니다 그런데 그 부분이 INVINCIBLE이 나오는 부분이 아니라int c=3; 에서 설명을 하셔서 제가 INVINCIBLE 있는 부분을 찾아서 봤는데// 무적 상태로 만든다flag = (1 << INVINCIBLE); // 0001을 왼쪽으로 3칸 이동시킨 값, 즉 이진수 1000를 나타냄, 컴파일러가 8이라는 값으로 알아서 대체한다00007FF66C17193A C6 05 3F A8 00 00 08 mov byte ptr [flag (07FF66C17C180h)],8 으로 되어있는데 int c=3일때랑 마찬가지로 INVINCIBLE를 8로 바꿔서 인식한다고 하면 될까요?
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
강의 선택에 질문있습니다.
안녕하세요, 클라 개발자 취준생입니다.최근에 유니티로 클라이언트 포트폴리오 개발을 하고 있는데다른 이력서랑 경쟁력이 떨어지는것같아서클라는 Unity,C# , 서버는 IOCP,C++로 개발을 진행해서 클라+서버 연동 포트폴리오를만들고싶은데요 루키스 선생님 강의중에 어떤 강의들을 구매해서 들어야하는지조언 부탁드립니다. 중복된 강의 갯수가 많아서 어떤 강의를 선택해서 들어야 하는지 궁금합니다.C, C++, C#, DirectX은 선수지식이 있습니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
배열의 원소를 출력하는 for문의 조건문에 const int를 해야하는 이유
제목그대로인 질문이라 죄송하지만배열의크기가 5라고 할때const int size = v.size();for (int i=0; i<size; i++)const int size = v.size(); 중 const를 붙여야하는 이유가 있나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
벡터 erase 관련 질문입니다
벡터 v.erase(it)에서인자로 it를 넘겨주는데래퍼런스, 포인터로 넘겨주는것도아닌데넘겨준 it의 myproxy 를 null 값으로 바꾼건 진짜 it의 myporxy값과 상관없지안나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
복사생성자와 이동생성자 차이를 잘모르겟습니다
개념은 알고 있습니다복사 : 복사하여 똑같은 개체를 만드는 것이동 : 원본 객체에서 새로운 객체로 이동 시키는 것구글링 했을때 이동 생성자에 대한 정보가이동 생성자는 객체의 데이터를 복사하지 않고, 데이터의 소유권만 이전합니다라고 되 있는대 객체의 데이터는 복사 하는 거 아닌가요?Night(const Night& night) : m_hp(night.m_hp),m_Attack(night.m_Attack),m_Pet(new Pet(night.m_Pet)){PrintText("Night(const Night&) 복사생성자 호출");}Night(Night&& night) noexcept : m_hp(night.m_hp), m_Attack(night.m_Attack), m_Pet(night.m_Pet){night.m_Pet = nullptr;PrintText("Night(const Night&&) 이동생성자 호출");}
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
이중연결리스트 list에 대해 질문있습니다
이중연결리스트라고 말씀하셨는대수업내용 들어보니까 [1] <->[2] <->[3] <->[4] <->[Header] <->[Header]노드가 [1]노드랑 연결되어있으면원형연결리스트 아닌가요..?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
가상 함수 에 대해 이해하고있는지 봐주세요
1 .컴파일 시 가상함수가 정의된 클래스가 있다면 가상함수테이블(Virtual function table)이 만들어진다.2.동적 바인딩 (Dynamic Binding): 동적 바인딩은 런타임 시간에 함수 호출을 어떤 함수와 연결할지가 결정되는 메커니즘3.vftable(4byte)( 함수포인터 배열) 은 객체 마다가 아닌 클래스 마다 동일한 메모리 주소 가리킨다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
복사생성자 질문입니다
얕은복사 vs 깊은복사 #1 19:00int main(){Knight knight;knight._hp = 200;Knight knight2 = knight;Knight knight3;knight3 = knight;}Q1)얕은복사는Stack : Knight1 [ hp 0x1000 ] -> Heap 0x1000 pet[ ]Stack : Knight2 [ hp 0x2000 ] -> Heap 0x1000 pet[ ]Stack : Knight3 [ hp 0x3000 ] -> Heap 0x1000 pet[ ]깊은복사는Stack : Knight1 [ hp 0x1000 ] -> Heap 0x1000 pet[ ]Stack : Knight2 [ hp 0x2000 ] -> Heap 0x2000 pet[ ]Stack : Knight3 [ hp 0x3000 ] -> Heap 0x3000 pet[ ]이렇게 되는거아닌가요 ? hp 가 값만 복사 되서 전달되고 hp 주소는 그대로 아닌가요? Q2 )얕은복사는 그냥 명시하지 않은 암시적 복사생성자라고 봐도되나여? Q3) 얕은복사와 깊은복사 두개다 쓰는경우도있나요?아니면 둘중 하나를 골라서 쓰게되나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
vector 메모리영역
vector<int> v; vector 메모리를 까보니까 힙영역인거같은대 맞나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
디버깅 문제풀이#3 10번문제 질문있습니다
for (int i = 0; i < 10; i++) { arrows[i]->AttackTarget(); // 기사가 죽었으면 소멸시켜준다 if (knight != nullptr) { if (knight->IsDead()) { delete knight; knight = nullptr; } } delete arrows[i]; arrows[i] = nullptr; }이부분에서 나이트를 delete 하고 nullptr 로 채우고나서 애로우 부분에// 공격 대상이 있다면 if (_target != nullptr) { // 데미지를 입힌다 target->AddHp(-damage); _target->PrintInfo(); }_target을 nullptr 체크했는대 구문으로 왜 들어오는건가요..?
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
현업 visualstudio stl vs EA STL
안녕하세요 공부하다가 궁금한게 있어서요 stl을 잘활용해야한다고 하셨는데 초심자지만 감히 호기심 차원에서 질문을해봅니다..! (따지는건 절대아닙니다! 그냥 학습차원에서 궁금해서요!)제가 주워 듣기론 EA STL이 좀더 게임개발에 맞춰 기존 stl을뜯어고친 STL이라서 성능향상에 좋다는 소리를 들었고visualstudio 에서 제공하는 stl같은 경우는 정확히 뭐가 안좋다는 건진 모르겠지만 좋지는 않다고 하더라구요강사님 생각은 어떤지 궁금해서 물어봐요..!
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
push_back, 이동생성자 질문
class Person { public: Person(string name) { this->name = name; cout << "기본 생성자 " << name << endl; } Person(const Person& p) { this->name = p.name; cout << "복사 생성자 " << this->name << endl; } Person(Person&& p) noexcept { this->name = p.name; cout << "이동 생성자 " << p.name << endl; } ~Person() { cout << "소멸자 호출 " << this->name << endl; } public: void operator = (Person&& p) { cout << "이동 대입 " << p.name << endl; } void operator = (const Person& p) { cout << "복사 대입 " << p.name << endl; } public: string name; }; std::vector<Person> v; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); v.push_back(Person("Kim")); v.push_back(Person("Lee")); Person p1("NY"); v.push_back(p1); return 0; } 위처럼 실행시 Kim에 대한 임시객체 생성 -> vector에 넣을 데이터 이동 생성자로 생성 -> 임시객체 해제(소멸)순으로 진행될라 생각하여 디버깅 한 결과 제 생각과 맞은듯 하였습니다.위처럼 생성자들이 호출이 되었고 그다음에 "Lee"임시객체를 생성하고 push_back하는 경우 똑같은 과정대로 push_back될거같았는데 그러지가 않고위처럼 기본생성자 호출 (임시객체) -> 이동생성자 호출 (벡터에 넣을 데이터 noexcept최적화 ) -> 이동생성자 호출?...(여기서 임시객체에 대한 소멸자가 호출되어야 한다고 생각했습니다)여기서 부터 멘붕이 왔는데 제가 지금 std::vector의 push_back멤버 함수의 동작방식을 제대로 알지 못하는 것인지와왜 Lee에 대한 이동생성자가 호출되고나서 Kim이라는 변수를 가지는 이동생성자가 한번 더 호출되는지 모르겠습니다 그것도 Person("Lee")를 v에 push_back하는 상황에서요..
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
map을 공부하던중.. m.insert(pair<int, int>(i, i * 100));
안녕하세요. 오늘 map 을 공부하던중..pair<int,int>(i,i*100) -> 이 부분이 도대체 무슨 소리인지 모르겠더라구요.. 이름이 없어서 생성자도 아니고 operator도 아니고 1시간 구글링 결투끝에 임시객체라는 표현을 알게되었어요.Q1임시객체가 무엇을 반환하는지가 궁금합니다..!코드상으로는 key 랑 value를 반환하는 것 같긴한데..내부를 살펴볼려해도 외계어가 난무해서 물어봅니다 ㅠㅠ 제가 너무 깊게 알려는건지 아니면 기초지식이 부족한건지 잘모르겠네요 하하..
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Unable to start assembler. Check your settings.
3.12.1 버전으로 시작했는데도 설정오류가 뜹니다-g -f win64 $SOURCE$ -l $LSTOUTPUT$ -o $PROGRAM.OBJ$로 옵션 설정을 바꿨고 현재 윈도우 10 을 사용중인데 이유를 모르겠네요3.14.0버전도 마찬가지라 버전의 문제가 아닌 것 같습니다.
- 해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
list head와 tail
안녕하세요 stl list 구현부를 학습하던중에 head의 역할이 이해가 안되서 인터넷을 찾아봤는데요.head는 첫번째 노드를 가리키는 것tail이 마지막 노드를 가리키는 것 첫 초기화 상태는 head와 tail 서로 next prev를 이용해 가리키고값 삽입 부분에서 head의 next , tail의 prev를 새로운 노드를 가리키게 바꿔주면 되는 것인데.. 설명 내용에는 taill 부분이 빠져있어서 혼란이 왔어요.결론 : 그냥 둘다 통합으로 header로 표현하신건가요??