목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bupqs3/btsCBMDkrRv/lKwzWZCK1TFLnRQpJ1SNo1/img.png)
1. 함수의 반환 값과 구조화된 바인딩 함수는 값을 반환할 수 있으나, 무조건 1개의 값만 반환할 수 있습니다. 하지만 함수의 반환값은 많음 멤버를 포함하는 객체 1개일 수도 있습니다. Python에서 다루는 튜플(Tuple)처럼 여러 값을 묶어 하나의 객체로 다루는 기능을 C++에서도 제공합니다. #include using namespace std; struct Entry { string name; int value; }; Entry read_entry(istream& is) { string s; int i; is >> s >> i; return {s, i}; } int main() { cout
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CIql4/btsB2P98S46/snriM2QnvrRzUJp8MGAEn0/img.png)
1. 하드웨어 친화적인 C++ C++는 하드웨어에 대한 직접적인 대응을 제공하는 언어입니다. 기본적인 연산자들은 하드웨어가 제공하는 기능으로 구현되어 있으며, 대부분 기계어 하나로 처리됩니다. 하드웨어가 제공하는 기능이나 기계어 하나로 처리된다는 부분에 대한 이론적인 개념은 컴퓨터 구조 또는 운영체제를 참고하면 됩니다. 만약, int x와 int y를 더하는 x + y 연산을 명령한다면 이는 머신 명령어(instruction) 하나로 처리됩니다. C++의 구현은 머신의 메모리를 일련의 메모리 위치라는 관점에서 바라보며, 그 메모리 위치에 객체를 저장, 포인터로 가리키는 형태로 동작합니다. 위 사진에서 p의 값은 현재 포인터로 가리키고 있는 3이 됩니다. v는 배열처럼 보이지만, 실제로는 C++가 메모리상..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbVd5G/btsCaxM7CLI/5DHtHe95E2HtVUAw1bmlO0/img.png)
1. auto 타입 C++ 에는 변수를 선언할 때, auto라는 타입을 사용할 수 있습니다. 변수를 선언할 때 초깃값으로부터 타입을 유추할 수 있을 경우, auto를 사용하면 알아서 타입이 변환되는 형식입니다. auto를 사용할 때는 문제를 야기하는 타입 변환의 위험이 없기 때문에 대입 연산자( = )를 사용할 수 있습니다. C++에서는 구체적인 타입을 직접 언급할 특별할 이유가 없다면 가급적 auto를 사용할 것을 권장하고 있습니다. 2. 구체적인 타입을 직접 언급할 '특별한 이유' - 정의가 속하는 스코프(scope)가 크고, 코드를 읽는 다른 사람들에게 타입을 명확하게 알리고 싶은 경우. - float 대신 double을 사용해 실수를 표현하는 것처럼 변수의 구간이나 정밀도를 명확하게 하고 싶은 경..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bMWfzE/btsBjrmNJ3c/cUharf8KYRiJ0jgJl3M8tk/img.jpg)
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 마치며 만약 소프트웨어 패턴을 처음 접하신다면, 이 가이드가 Unity 개발에서 흔히 마주하게 되는 디자인 패턴 몇 가지를 이해하는 데도움이 되셨기를 바랍니다. 프리팹을 생성하기 위한 공장을 만들거나, AI를 위한 상태 패턴을 만들든지 간에 여기서 배운 기술들을 필요에 따라 적절히 활용하세요. 언제 그리고 어떻게 디자인 패턴을 적용할 것인지를 고려한다면 여러분이 앞으로 Unity 프로젝트를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEVVpI/btsAQAYJylw/5GHTZlcUJr2NrWYKiKtQc1/img.jpg)
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 모델 뷰 프리젠터 (MVP: Model View Presenter) 모델 뷰 컨트롤러(MVC: Model View Controller)는 사용자 인터페이스를 개발할 때 흔히 쓰이는 디자인 패턴 중 하나입니다. MVC의 핵심 아이디어는 소프트웨어의 논리적 부분을 데이터와 프레젠테이션으로부터 분리하는 것입니다. 이는 불필요한 의존성을 줄이는 데 도움을 주고, 스파게티 코드가 탄생할 잠재적인 위험..