목록게임프로그래밍/C++ (19)
bdfgdfg
auto C++11에서 등장한 문법이며 변수의 자료형을 컴파일 타임에 추론하여 자료형을 결정한다. -> 그렇기에 auto 변수를 반드시 초기화 해야 된다. (동적(런타임)으로 자료형이 결정되지 않으므로) -> 런타임에 결정되는게 아니므로 런타임 성능에 영향x auto를 사용하여 포인터와 참조를 받을수도 있다. -> 포인터를 받을 때 선언 : auto 혹은 auto* -> 참조를 받을 때 선언 : auto& 포인터는 기본 auto로 받아도 되고 auto*로도 받을 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 class Test { public: Test(std::string& value) : m_str(value) {..
캐스팅(형변환) - 하나의 데이터형을 다른 데이터형으로 변환하는 것. 기존의 C스타일의 형변환은 밑과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Test { private: int m_test = 10; }; int main() { int a = 5; long long b = a; // 묵시적 형변환. 컴파일러가 형을 변환해준다. // -> 형변환이 허용되며 프로그래머가 명시적으로 형변환을 안한경우. Test* t = (Test*)&a; // 명시적 형변환. 프로그래머가 형변환을 위한 코드를 직접 작성. return 0; } Colored by Color Scripter cs C++스타일의 형변환 연산자는 4가지가 존재한다. 1. static_cast 2. rein..
템플릿은 함수 템플릿과 클래스 템플릿이 존재한다. 함수 템플릿은 함수를 만들어내는 틀이고 클래스 템플릿은 클래스를 만들어내는 틀. void Print(int a, int b) { std::cout
연산자 오버로딩 - 연산자를 중복정의. 사용자 정의 자료형(클래스,구조체)에서 연산자를 재정의하는 것. - 기본 연산자의 기능을 클래스(객체)에도 적용이 가능하다는 의미. - 대부분의 연산자는 전역함수,클래스(구조체)에서 정의 가능하다. 연산자 오버로딩이 불가능한 연산자 . 멤버 접근 연산자 .* 멤버 포인터 연산자 :: 범위 지정 연산자 ? : 삼항 연산자 sizeof 바이트 크기 계산 연산자 typeid RTTI 관련 연산자 static_cast 형변환 연산자 dynamic_cast 형변환 연산자 const_cast 형변환 연산자 reinterpret_cast 형변환 연산자 형식 리턴타입 operator연산자키워드 (매개변수..) 멤버 연산자 오버로딩 : 클래스 및 구조체 내부에 존재하는 연산자 오버..