본문 바로가기

C++,python (인프런+사이트)/C++ 동적 할당3

타입변환_1_2 결론) [값 타입 변환] : 진짜 비트열도 바꾸고 - 논리적으로 말이 되게 바꾸는 변환 // 내부data가 변경되는 경우 - 논리적으로 말이 된다? (ex . Dog = BullDog ) OK - 논리적으로 말이 안된다 (ex . BullDog = Dog , Knight = Dog ) 안됨 [참조 타입 변환 ] : 비트열은 냅두고 우리의 '관점'만 바꾸는 변환 // *포인터, &참조 주소메모리관련해서 - 땡깡 부리면(명시적 요구) 해주긴 하는데, 말 안해도 '그냥'(암시적)으로 해주는 지는 안전성 여부를 검사한다. -- 안전하다 ? (ex. &Dog = BullDog ) '그냥'(암시적으로)OK -- 위험하다 ? (ex. &BullDog = Dog ) 메모리 침범 위험이 있는 경우는 '그냥'(암시적으로).. 2022. 3. 8.
동적할당_3_(new[]/delete[]) new/delete 사용 방법 하나 할당 할때 VS 여러개 할당 할 때 [ ] 배열로 선언을 했으면 delete할때도 " delete[] 이름 "으로 지워줘야됨. 그에 따른 메모리 할당 사이즈 ( 하나 할당 할때 VS 여러개 할당 할 때 ) 에 할당되는 메모리차이 코드 더보기 // C:\Users\wonhy\Desktop\hansung_study\inflearn_C++\섹션 7.동적 할당 #include using namespace std; class Monster { public: int _hp=0; int _x=0; int _y=0; }; int main() { //============================================================================.. 2022. 2. 7.
동적할당_1_2_(malloc_free) 코드 접은글 더보기 더보기 // C:\Users\wonhy\Desktop\hansung_study\inflearn_C++\섹션 7.동적 할당 #include using namespace std; // 오늘의 주제 : 동적할당 /* 메모리 구조 복습 - 실행할 코드가 저장되는 영역 -> 코드 영역 - 전역(global)/정적(static) 변수 -> 데이터영역 - 지역변수/매개변수 -> 스택영역 - 동적 할당 -> 힙영역 지금까진 데이터영역/스택영역을 이용해서 프로그램구성함 but 새로운영역 heap은 왜 필요한걸까 ex) 이유 1. - MMORPG에서 동접 1~5만명 , 몬스터 1마라~500만마리 이럴 때 5만명 500만마리 의 변수data들을 stack에 전부 저장할 경우 스택 오버플로우가 발생함. 몬.. 2022. 2. 2.