언어 및 엔진/C++(39)
-
[C++] 얕은 복사 / 깊은 복사
얕은 복사 깊은 복사 얕은 복사 메모리에 저장되어 있는 위치의 주소값만을 가지고 있음(바로가기), 원본이 없어지면 찾을 수 없게 된다 깊은 복사 메모리에 저장된 내용까지 복사(복사본), 원본이 없어져도 찾을 수 있다.
2024.04.18 -
[C++] Abstract / Interface
Abstract와 Interface Abstract : 추상. 구현이 되지 않은. 미완성 클래스의 이름 뒤 혹은 멤버 변수 앞에 붙게 됨 Abstract Class : 추상 클래스 : 순수 가상 함수가 하나 이상 있는 클래스 객체를 생성할 수 없음, 포인터는 만들 수 있음 내용이 없기 때문에 자식 클래스가 반드시 내용을 만들어 줘야 한다.(뼈대만 만듦) Pure Virtual Function : 순수 가상 함수 추상클래스를 상속 받는 클래스도 추상 클래스가 된다. 상속 받은 모든 순수 가상함수는 오버라이딩(재정의)하면 객체를 생성할 수 있음 그냥 가상함수(Virtual Function)는 자식클래스가 오버라이딩(재정의)할 의무가 없다 -> 다형성(미리 토대를 만들어 둠) 없음 클래스이고, 클래스와 관련이..
2024.04.18 -
[C++] 컴파일 작동 순서
컴파일 시 작동 순서 전처리기 -> 컴파일러 -> 어셈블러 -> 링커 소스코드 -> 전처리 -> 전처리 후 소스 -> C 컴파일 -> 어셈블리 소스 -> 어셈블리 컴파일 -> 오브젝트 파링 -> 링크 -> 실행파일 전처리(Preprocess) : 소스 내부에 #로 시작되는 것들 실행. 컴파일 전에 어떤 순서로 컴파일 할지 결정, 가동성 높임 컴파일(Compile) : 소스파일을 기계어로 번역. 에러, 경고 발생. C컴파일 -> 어셈블리어 -> 어셈블리컴파일 -> 기계어. .obj파일(기계어) 생성 링크(Link) : .obj파일과 소스코드에서 사용되는 함수가 있는 .lib파일을 이용, 실행 가능한 파일을 만듦. 변수, 함수가 없을 시 오류 발생. .exe파일 생성
2024.04.18 -
[C++] 케이디 강좌
케이디 영상 바로 보기 : https://www.youtube.com/channel/UC9w-j0OqNzdtOqiYj4lDHmg 케이디 유니티에 대한 모든 것. 난이도별 맞춤 튜토리얼 제공. 게임 개발자라면 이 채널에서 도움을 받아가세요. 근황 티스토리 : https://keidy.tistory.com/ 개인 트위터 : https://www.twitter.com/KeidyTwit/ 유료 강좌 www.youtube.com 변수 우클릭 -> Create -> C# Script 첫 글자가 대문자이고 띄어쓰기가 없음 void Start() == init(), 최초 1회만 실행하게 된다. 출력은 print를 사용 class 이름 == 유니티에서 대본 모양의 아이콘 아래 있는 이름과 일치시켜야 한다. 자료형 정수 ..
2024.04.17 -
[C++] Dynamic cast
Dynamic_cast의 내부 동작 상속으로 묶인 클래스들의 메모리 값을 조사 -> 부모 클래스의 메모리 번지수와 일치여부를 판단하여 캐스팅. 일일이 메모리 주소 값을 찾기 때문에 느림 안전한 다운 캐스팅
2024.04.17 -
[C++] 업캐스팅 / 다운캐스팅
업캐스팅과 다운캐스팅 비교 -업캐스팅 : 클래스 객체를 기반 클래스로 변환 기본 클래스의 포인터로 파생클래스의 객체를 부름 기본 클래스의 public맴버들만 접근이 가능 파생 클래스의 객체를 기본 클래스의 객체처럼 다룰 수 있음 -다운캐스팅 : 클래스 객체를 파생 클래스형으로 변환 파생 클래스의 포인터로 기본 클래스의 포인터가 가리키는 객체를 부름 명시적 타입 변환 필요 (잘 터짐)
2024.04.17