목록전체 글 (124)
서의 공간
1. vector::erase - C++ Reference (cplusplus.com) Removes from the vector either a single element (position) or a range of elements ([first, last)). This effectively reduces the container size by the number of elements removed, which are destroyed. Because vectors use an array as their underlying storage, erasing elements in positions other than the vector end causes the container to relocate all..
핵심개념 1. normal map 2. tangent space
1. 복사 생성자 Shallow Copy 값이든 포인터이든 그대로 복사 Deep Copy 포인터이라면 값을 복사 2. 대입 연산자 a = b; 식에 왼쪽은 l-value(l: locator), 오른쪽은 r-value 왼쪽에는 변수가 와야하고, 오른쪽에는 변수 또는 상수가 와야함. 왼쪽에서는 overwrite가 발생하고, 오른쪽에서는 읽기가 발생함. 기본 데이터 타입의 연산에 대해 연산자 오버로딩은 불가능함.(int + int) 클래스간의 연산자 오버로딩이 가능 디폴트 대입 연산자는 Shallow Copy 한다. 복사 생성자를 구현하면 대입 연산자도 구현해야 한다. 3. 묵시적 변환 변환 생성자: 파라미터 1개를 갖는 생성자 클래스가 다른 함수의 파라미터로 넘어갈 때, 묵시적 변환이 이루어짐. class ..
XML 문서(Visual C++) | Microsoft Docs /// ///Description /// int func() { ... }
The two functions do vastly different things The resize() method (and passing argument to constructor is equivalent to that) will insert or delete appropriate number of elements to the vector to make it given size (it has optional second argument to specify their value). It will affect the size(), iteration will go over all those elements, push_back will insert after them and you can directly ac..
[문제]: 1629번: 곱셈 (acmicpc.net) A, B, C가 int보다 작은 자연수라 하더라도, 곱하기 연산을 하는 과정에서 int의 범위(약 21억)보다 커질 수 있다. 따라서 long long 자료형을 사용한 것을 확인 할 수 있다. POWER() 함수의 기저 사례(base case)는 지수 b가 1일 때 자기 자신(a)을 반환한다. 또한, \[a\equiv b\pmod{m} \text{이고 } c\equiv d\pmod{m} \text{이면, } ac\equiv bd\pmod{m} \text{이다.}\] 예를 들어, \[12^{58}\equiv 4\pmod{67}\text{이면 위 식에 의해, } 12^{116}\equiv 16\pmod{67}\text{이다.}\] \(12^{116}\)을..
모듈러 연산(나머지 연산) - 기계인간 John Grib
프랭크 D. 루나의 책 『DirectX 11을 이용한 3D 게임 프로그래밍 입문』의 복습 과정이다. 추후 연습문제풀이까지 Chili 프레임워크를 이용하여 구현할 예정이다.
핵심 개념 Mesh 더보기 Mesh.h #pragma once #include "DrawableBase.h" #include "BindableCommon.h" #include "Vertex.h" #include #include #include #include #include "ConditionalNoexcept.h" class ModelException : public ChiliException { public: ModelException(int line, const char* file, std::string note) noexcept; const char* what() const noexcept override; const char* GetType() const noexcept override; con..
핵심 개념 1. c++ template meta programming 2. c++ reflection 3. std::move, std::forward 4. universal references 5. perfect forwarding 6. template recursion 7. T&&... args -> parameter pack 이라고 한다. 이것은 파라미터가 한개여도 되고 여러개여도 된다는 것이다. 8. 왜 이렇게 설계를 해야만 하는가? 현재 프로젝트에서 SkinnedBox를 만드는 과정을 살펴보면, Vertex 구조체를 정의한다. Vertex 구조체는 pos, normal, texturecoord 을 포함한다. geometry 클래스 중 하나인 cube 클래스에서 Make() 함수로 정점들의 구조를 ..