목록Dev. Study Note/C++ (10)
Priv's Blog
1. 하드웨어 친화적인 C++ C++는 하드웨어에 대한 직접적인 대응을 제공하는 언어입니다. 기본적인 연산자들은 하드웨어가 제공하는 기능으로 구현되어 있으며, 대부분 기계어 하나로 처리됩니다. 하드웨어가 제공하는 기능이나 기계어 하나로 처리된다는 부분에 대한 이론적인 개념은 컴퓨터 구조 또는 운영체제를 참고하면 됩니다. 만약, int x와 int y를 더하는 x + y 연산을 명령한다면 이는 머신 명령어(instruction) 하나로 처리됩니다. C++의 구현은 머신의 메모리를 일련의 메모리 위치라는 관점에서 바라보며, 그 메모리 위치에 객체를 저장, 포인터로 가리키는 형태로 동작합니다. 위 사진에서 p의 값은 현재 포인터로 가리키고 있는 3이 됩니다. v는 배열처럼 보이지만, 실제로는 C++가 메모리상..
1. auto 타입 C++ 에는 변수를 선언할 때, auto라는 타입을 사용할 수 있습니다. 변수를 선언할 때 초깃값으로부터 타입을 유추할 수 있을 경우, auto를 사용하면 알아서 타입이 변환되는 형식입니다. auto를 사용할 때는 문제를 야기하는 타입 변환의 위험이 없기 때문에 대입 연산자( = )를 사용할 수 있습니다. C++에서는 구체적인 타입을 직접 언급할 특별할 이유가 없다면 가급적 auto를 사용할 것을 권장하고 있습니다. 2. 구체적인 타입을 직접 언급할 '특별한 이유' - 정의가 속하는 스코프(scope)가 크고, 코드를 읽는 다른 사람들에게 타입을 명확하게 알리고 싶은 경우. - float 대신 double을 사용해 실수를 표현하는 것처럼 변수의 구간이나 정밀도를 명확하게 하고 싶은 경..