목록포인터 (4)
오븐 노트
#include using namespace std; class Item { public: Item() { cout
포인터나 참조처럼 주소를 다룰때는 그 주소가 정말 끝까지 유효한지 항상 습관처럼 생각하고 있어야하며 어지간해서는 스택에서 스택과 관련된 데이터의 주소를 바깥으로 넘겨주려는 행동은 조심해야함 스택에서만 존재하는 값의 주소를 외부로 가져간다는것 자체가 말이 안되고 절대 하면 안되는 행위 항상 함수와 주소의 생명 주기를 생각하고 있어야함 #include using namespace std; // 포인터나 참조처럼 주소를 다룰때는 그 주소가 정말 끝까지 유효한지 항상 습관처럼 생각하고 있어야하며 // 어지간해서는 스택에서 스택과 관련된 데이터의 주소를 바깥으로 넘겨주려는 행동은 조심해야함 // 스택에서만 존재하는 값의 주소를 외부로 가져간다는것 자체가 말이 안되고 절대 하면 안되는 행위 // 항상 함수와 주소의..
사실상 2차 포인터를 초과하여 들어갈 일은 거의 없다. 있다면 소스가 문제가 있다고 볼 수 있을정도 #include using namespace std; void SetNumber(int* a) { *a = 1; } void SetMessage(const char* a) { // .rdata Bye주소[B][y][e][\0] // [매개변수][RET][지역변수(msg(Hello주소))] [매개변수(a(Hello주소))][RET][지역변수] // [매개변수][RET][지역변수(msg(Hello주소))] [매개변수(a(Bye주소))][RET][지역변수] // [매개변수][RET][지역변수(msg(Hello주소))] a = "Bye"; } void SetMessage(const char** a) { // [매..
#include using namespace std; struct StatInfo { int hp; int attack; int defence; }; void CreateMonster(StatInfo* info) { info->hp = 100; info->attack = 8; info->defence = 5; } // 특정 조건을 만족하는 몬스터를 찾는 함수 StatInfo* FindMonster() { // TODO : Heap 영역에서 뭔가를 찾아봄 // 발견 시 // return monster~; return nullptr; } // StatInfo globalInfo; // 주소 전달 방식 // [매개변수][RET][지역변수(info)][매개변수(&info)][RET][지역변수] void Prin..