Inventory
-
C++ 템플릿의 종류@ 16. 1 ~ 17. 1/면접관련 2017. 1. 4. 19:06
1. 함수 템플릿2. 클래스 템플릿 두 종류의 템플릿은 정확히 동일한 방식으로 동작하지 않는데, 가장 명백한 차이는 오버로드 유무이다.보통의 C++클래스와 마찬가지로 클래스 템플릿 역시 오버로드를 할 수 없다.역시 C++함수와 마찬가지로 함수 템플릿 역시 오버로드가 가능하다.// 클래스 템플릿template // Aclass X {}; // 오버로드된 두 개의 함수 템플릿template // Bvoid function(T t) {} template // Cvoid function(int i, T t) {} 위 템플릿들처럼 특수화되지 않은 템플릿들을 기본 템플릿이라고 한다. 기본 템플릿들은 특수화 될 수 있다. 클래스 템플릿은 완전 / 부분 특수화가 모두 가능하나, 함수 템플릿은 완전 특수화만 가능하지, ..
-
DB란 무엇인가@ 16. 1 ~ 17. 1/네트워크 프로그래밍 2017. 1. 4. 17:45
데이터 베이스 : 여러가지 업무에 공동으로 필요한 데이터를 유기적으로 결합하여 저장한 집합체, 데이터를 효율적으로 처리하기 위하여 개발된것으로 같은 데이터가 중복되는 문제를 없앨 수 있으며..업무가 확대되어도 새로 파일을 준비할 필요가 없다는 장점이다..궁시렁궁시렁.. 사전적 요소는 저렇고..그 내용을 쉽게 접근하여 처리하고 갱신할 수 있도록 구성된 데이터의 집합체이다.결국 데이터(자료)를 모아둔 것이라고 한다. 수많은 기능들 중에서도 특히 다수의 사용자가 동시에 플레이 하는 MMORPG의 경우를 위해서 가장 중요한 기능이 바로 트랜잭션의 처리이다.트랜잭션은 데이터베이스의 완정성 혹은 무결성을 보장하는 기능으로..일련의 여러작업을 하나의 단위로 처리할 수 있게 해주는 기능을 말한다. 트랜잭션 처리의 4대..
-
유니티 제네릭 컨테이너@ 16. 1 ~ 17. 1/Unity 2016. 12. 30. 23:45
우선, List 자료구조는 배열을 기반으로 하는 리스트 구조입니다이 말은 무슨 말이냐 하면, 엄밀히 말하자면 내부 자료구조는 리스트가 아니라 배열입니다. 배열이긴 하지만, 우리는 리스트를 사용하듯이 사용할 수 있는 클래스라는 것이죠. 원소가 추가될 때마다 배열의 맨 마지막 자리에 원소가 추가되다가, 배열의 크기를 넘어서면 2배로 배열 크기를 늘려서 재할당하는 그런 식인 것입니다. C#의 lock 키워드는 특정 블럭의 코드(Critical Section이라 부른다)를 한번에 하나의 쓰레드만 실행할 수 있도록 해준다. 그래서 오브젝트 풀 구현시에 사용이된다.
-
C++ 정리(게임개발자를 위한 C++ 참고)@ 16. 1 ~ 17. 1/면접관련 2016. 12. 28. 23:11
실행시간에 메모리가 할당 : 동적 메모리 할당일반적인 변수 선언문 같은것은 컴파일 시간에 변수의 메모리 위치가 결정 : 정적 메모리 할당 바인딩 : 변수나 함주의 주소를 결정하는 것을 바인딩이라고 한다. C의 Malloc과 C++ new의 차이점1. 동적 메모리 할당이 빈번히 사용됨에도 불구하고 함수인것이 못마땅함..C++에서는 동적 메모리 할당이 함수에서 연산자로 승격되었다.연산자는 함수보다 훨씬 유동적이고 함수 호출의 오버헤드가 없다. 또한 C에서 하던 매번 형변환의 불필요한 연산이 없어진다.(C의 경우 (int*)malloc(2) 이런식인데 C++ 의 경우 ip = new int; 이런식이다)2. new는 메모리 할당과 동시에 초기화를 하는것을 허락한다. 함수의 시작 주소를 다른 변수에 저장할 필요..
-
동적 라이브러리와 정적 라이브러리@ 16. 1 ~ 17. 1/C++ 2016. 12. 26. 20:34
라이브러리는 제목 처럼 2개로 나뉜다.1. 동적 라이브러리는 라이브러리 코드가 외부에 존재하여 프로그램 실행시 외부 라이브러리를 찾아서 링크하여 사용하는 방식2. 정적 라이브러리는 컴파일 타임에 라이브러리 코드를 실행 파일로 복사하여 사용하는 방식이다. 동적 라이브러리흔히 윈도우에서 사용하는 dll파일이 동적 라이브러리를 사용하는 예이다.라이브러리 코드가 dll에 있기 때문에 실행파일의 크기가 작아진다는 장점이 있다.다만, dll파일에 의존하게 되기 떄문에 해당 라이브러리가 설치되어 있지 않으면 프로그램 실행이 불가능하게 된다. 정적 라이브러리라이브러리 코드를 실행파일 안에 복사해 넣기 때문에 실행파일의 크기가 커진다.외부 의존관계가 없어(dll파일 같은게 필요없음) 라이브러리 설치 없이 홀로 실행이 가..