게임학원, 게임프로그래머 취업 전문 교육기관 DirectX11/12 자체엔진 게임개발과정,서버프로그래밍,자료구조,알고리즘,유니티,언리얼 게임학원, 언리얼학원 '정보 & 소식/C, C++' 카테고리의 글 목록 (2 Page)
본문 바로가기

정보 & 소식/C, C++

(23)
동적할당 동적 할당의 필요성 int main() { int iArr[10] = { 0 }; return 0; } int 자료형 으로 10개 짜리 배열을 선언했습니다. 우리가 이 배열에 데이터를 저장한다고 했을 때,10 개의 공간은 모자랄 수도 있고, 남아 돌 수도 있습니다. 따라서 상황에 맞게 우리가 입력한 값으로 가변적으로 배열을 할당 할 수 있으면 좋겠다는 생각이 듭니다.그래서 다음과 같이 코드를 변경해 보겠습니다.int main() { int iCount = 0; scanf_s("%d", &iCount); // 입력 대기 int iArr[iCount] = { 0 }; // 입력한 값으로 배열의 크기를 정함. return 0; }하지만 위의 코드는 문제가 있습니다.첫 번째로 iArr 배열은 지역 변수로서 스택.. 2019. 2. 28. 17:15
nullptr 구현하기 전격 해부 코드 자체로 설명을 해봅시다MAIN() 함수 부터 보시면 되겠습니다. // nullptr 구현.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;// nullptr 구현// 익명 클래스 여야 한다.// 내 포인터의 자료형과 이름이 존재한다면 이후 이 클래스를 재생성 하는 것을 막는다..const class { // 패딩 비트 sizeof를 했을시 // 기본적인 클래스는 크기가 0이므로 이와 같은 포인터를 넣어줌으로서 // sizeof시 크기를 포인터 크기와 같게 하기 위해서 사용한다. void* SizeMember;public: // 첫번째 템플릿 형변환 연산자 .. 2017. 3. 7. 21:28
Effective C++ 항목3 낌새만 보이면 const를 들이대 보자! 항목 3: 낌새만 보이면 const를 들이대 보자! const : 의미적인 제약(const 키워드가 붙은 객체는 외부 변경을불가능 하게 한다.) 어떤 값이 불변이어야 한다. 라는 제작자의 의도를 컴파일러 및 다른 프로그래머에게 보일 수 있다. 1. const int* pNumber; //상수 데이터2. int const *pNumber; //상수 데이터3. int* const pNumber; //상수 포인터 주의) 1번과 2번은 같은 형식입니다. const POINT operator* (const POINT& lhs, const POINT& rhs ) 반환값을 상수화를 한다면 실수를 예방할 수 있습니다. ex) POINT tPosA, tPosB, tPosC; if( (tPosA * tPosB) = tPo.. 2016. 11. 5. 13:10
Effective C++ 항목2 #define을 쓰려거든 const, enum, inline을 떠올리자 항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자 “가급적 선행 처리자보다 컴파일러를 더 가까이 하자“ #define ASPECT_RATIO 1.653 ASPECT_RATIO 가 기호식 기호로 보이지만 컴파일러에겐 전혀 보이지 않습니다. 디버그에 어려움이 생긴다 라는 의미로 해석할 수 있습니다. 1. CONST문제의 해결법은 매크로 대신 상수를 쓰는 것 const double AspectRatio = 1.653 #define을 const화 할 때 주의점 두가지 1-1. 상수포인터를 정의 하는 경우 포인터는 꼭 const로 포인터가 가리키는 대상까지 const로 ex) const char* const strName = “ASSORT ROCK”; => string이 사용하기 .. 2016. 11. 3. 18:26
Effective C++ 항목1 C++를 언어들의 연합체로 바라보는 안목은 필수 항목 1: C++를 언어들의 연합체로 바라보는 안목은 필수 C++ 절차적, 객체지향, 함수식, 일반화 프로그래밍 또 메타프로그래밍의 개념까지 지원 하는 이 다중패러다임 프로그래밍 언어(multiparadigm programming language)를 간단하게 이해하는 법에 대해 말하고 있습니다. 그 방법은 4가지의 하위 언어를 제공한다는 점으로 보자는 이야기입니다. 1. C 2. 객체지향 3. 템플릿 4. STL 이 하위 언어를 옮겨 가면서 대응 전략을 능수능란하게 대응 한다면 우리가 원하는 바를 이룰 수 있다고 합니다. 이 대응 전략의 예를 들면 항목 20에서 말하는 (매개변수 전달 방법 중 무엇을 선택할지) 부분을 드는데요 참조자에 의한 전달로 할 것 인가 값에 의한 전달로 할 것 인가 이 부분이 위.. 2016. 11. 3. 00:58
Effective C++<챕터1>C++에 왔으면 C++의 법을 따릅시다 Chapter 1 C++에 왔으면 C++의 법을 따릅시다 항목 1: C++를 언어들의 연합체로 바라보는 안목은 필수 항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자 항목 3: 낌새만 보이면 const를 들이대 보자! 항목 4: 객체를 사용하기 전에 반드시 그 객체를 초기화하자 챕터 1에 대한 소개를 보면 행동방식과 사고방식을 C++스타일로 만드는 방법중 가장 근본적인 방법에 대해 소개한다고 되어 있습니다. 대충 항목들을 보면 C++의 구성 그리고 정의, 상수화, 객체의 초기화, 가장 기본적이지만 간과하기 쉬운 부분들에 대한 방법에 대해 소개하고 있습니다. 자 이제 챕터1의 세부 항목을 찬찬히 살펴 보죠 게임프로그래머 취업 전문 교육기관 어소트락 게임아카데미 교대역 / 강.. 2016. 10. 21. 17:25
Effective C++<머리말>Effective C++에 대해 포스팅 하겠습니다 C++을 공부 하다보면 꼭 언급이 되는 책 스콧 마이어스의 [Effective C++]에 대해 포스팅을 진행하려고 합니다. 이펙티브 C++ 3판입니다. 목차는 55가지의 테크닉에 대해 이루어져 있습니다. 차근차근 한 개씩 잡아나가 보려고 합니다.뒷면 자 시작해 볼까요? Chapter 1 C++에 왔으면 C++의 법을 따릅시다항목 1: C++를 언어들의 연합체로 바라보는 안목은 필수 항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자항목 3: 낌새만 보이면 const를 들이대 보자!항목 4: 객체를 사용하기 전에 반드시 그 객체를 초기화하자 Chapter 2 생성자, 소멸자 및 대입 연산자항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자항목 6: 컴파일.. 2016. 10. 19. 22:20
컴파일과정 C++ 컴파일 과정에 대해 알아보는 과정을 가져보겠습니다. 우선 컴파일된 결과물을 한번 살펴보겠습니다. - 출력폴더의 결과물 - 프로젝트 폴더의 결과물 MSDN에서 살펴 보면 정확한 내용을 알아볼수 있습니다. - Visual C++ 프로젝트용으로 만들어지는 파일 형식 https://msdn.microsoft.com/ko-kr/library/3awe4781.aspx 파일확장명형식목차.idb컴파일소스 파일과 클래스 정의 간의 종속성 정보가 포함된 상태 파일. 최소 다시 빌드 및 증분 컴파일 중에 컴파일러에 의해 사용될 수 있습니다. .idb 이름을 지정하려면 /Fd 컴파일러 옵션을 사용합니다. 자세한 내용은 /Gm(최소 다시 빌드 가능)을 참조하세요..ilk연결증분 링크 파일. 자세한 내용은 /INCREME.. 2016. 8. 6. 22:12