분류 전체보기

    선형 변환(Linear Transformation)과 행렬(Matrix)의 관계

    선형 변환(Linear Transform)은 벡터 공간에서 벡터 공간으로 가는 함수로, 그것들 중 벡터 공간의 성질을 보존하는, 선형성을 갖는 함수이다. 행렬과의 관계를 따져볼때, 선형대수학의 기본정리를 보면 행렬과 선형 변환은 본질적으로 같다는 것을 증명하며, 기능이 완전히 같아 선형 변환은 행렬로 표현해 계산할 수 있다. 즉 벡터 공간에서 벡터 공간으로 가는 선형 연산자는 행렬과 일대일 대응(벡터 공간에는 기저가 존재하고, 선형 변환이 주어지면 그것을 기저에 맞춰 행렬로 표현할 수 있음)이기에, 둘은 본질적으로 같다고 볼 수 있다.

    C++ push_back, emplace_back in std::vector

    1. push_back std::vector의 멤버 함수인 push_back은 vector의 끝에 요소를 추가할때 사용한다. 종류는 Move Semantics(R-Value)개념이 추가되서 총 2개이다. void push_back(const T& value); // C++ 03 ~ - 값 복사를 통해 요소를 추가 void push_back (T&& value); // C++ 11 ~ - (임시) 객체의 복사가 아닌 이동을 통해 요소를 추가 C++ 11에서 추가된 push_back이 불필요한 오버헤드를 줄였다. 2. emplace_back push_back과 마찬가지로 std::vector의 멤버함수로 기능인 vector의 요소 끝에 원소를 추가하는 함수이다. template ..

    C++ PreCompiled Header

    Precompiled Header? Precompiled Header는 번역해보면 사전 컴파일 된 헤더라는 뜻이 된다. 의미와 비슷하게 컴파일 시간을 줄이기 위해 차후 개발에 변경 여지가 크게 없는 소스를 미리 컴파일 해두고 컴파일 결과를 저장해 컴파일시 해당 소스의 컴파일을 생략하는 것을 말한다. ​ 개발중인 프로젝트가 커지면 커질수록 컴파일 속도가 점차 느려진다. 커질수록 느려지는 컴파일 속도에 개선점중에는 여러가지가 있다. 대표적으로 1. Precompiled Header 2. 병렬 빌드 (회사에서 많이 사용) 3. 모듈화 혹은 모듈을 dll화 4. 하드웨어 업그레이드...ㅎㅎ 5. 코드 개선 ex) 올바른 inline, template, static 사용 5가지중 가장 Precompiled Hea..

    03. C++ Manipulator Output Formatting

    사실 포스팅할까 망설였던 이주제... 게임 클라이언트 프로그래머를 지망하다보니 게임 엔진을 통해 개발할때 커스텀 로그 및 엔진 제공 로그등으로 입출력을 확인했었기에, 조정자를 막 프로그래밍을 입문했을 시점에 뭔가 특별한 입출력 지원 기능이 없을까 해서 찾다보니 알게되었다. ​ 먼저 Output Formatting이 무엇인지 알아보자. Output Formatting : 출력 형식(서식) 지정 출력 형식을 지정해 원하는 값을 도출해보자는 말그대로의 뜻을 가지고 있다. 예를 들어 실수를 출력하고자 하는데 뒤에 소숫점을 몇자리까지 보여줄건지, 정렬을 하고 싶은데 Column 사이즈를 몇씩 할건지 등등 여러가지 최종 출력 형식을 조정해 좀더 원하는 출력으로 이끌어 낼 수 있다. ​ 자 Output Formatt..