Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
27 | 28 | 29 | 30 |
Tags
- rendermonkey
- 셰이더
- 이득우언리얼
- 화살표 함수
- python
- 게임만들기
- 화살표 메서드
- IMGUI
- c++class
- 파이썬
- 비주얼스튜디오
- visualstudio2022
- 렌더몽키
- Unity
- 배열문제
- 가변배열
- 표창던지기
- 언리얼
- 이득우
- uidesign
- 그림자 효과
- C++
- c#
- 공부
- swipe
- 다중상속
- premake5
- 유니티
- 3차원배열
- 화살피하기
Archives
- Today
- Total
신입 개발자 공부 과정
C++ 처음부터 다시 공부하기 (진행 중) 본문
- 공부 목표 = 신입 개발자로서 원활한 업무 수행을 위해 필요한 C++ 기본 및 응용 능력 향상을 목적으로 함
- 참고하는 책 = 전문가를 위한 C++ 5th Edition
- 참고 사이트 = msdn
- Test 환경 = Visual Studio 2022
C++ 기초
- 모듈 module
- C++20 부터 새롭게 추가된 대표적인 기능 중 하나로 header file이라 부르던 메커니즘을 대체하는 기능. 사용하려는 header 파일 및 cpp파일에서 import "파일명"으로 불러와야 한다.
- 장점 = 이전과 다르게 h파일과 cpp파일로 나누어 정의 및 구현이 필요하지 않다.
- C++20 부터 새롭게 추가된 대표적인 기능 중 하나로 header file이라 부르던 메커니즘을 대체하는 기능. 사용하려는 header 파일 및 cpp파일에서 import "파일명"으로 불러와야 한다.
- 빌드 작업 단계 (빌드 작업은 소스코드를 프로그램으로 만드는 작업)
- 전 처리 단계 - 소스에 담긴 메타정보를 처리한다(컴파일러에게 알려준다)
- 컴파일 단계 - 소스 코드 머신이 읽을 수 있는 객체파일로 변환한다.
- 링크 단계 - 앞에서 변환한 여러 객체 파일을 애플리케이션으로 변환한다.
- 지시자 #include 처럼 #으로 시작
- <cstdio> 공식 권장 방식 / <stdio.h> 기존 방식
- 이스케이프 시퀸스 =
- \n = 줄 바꿈
- \r = 커서를 현재 라인 맨 앞으로 이동
- \t = tab
- \\ = "\"표시
- \" = " 표시
- namespace는 코드에서 이름이 서로 충돌하는 문제를 해결하기 위해 나온 개념.
- :: scope 지정자
- namespace alias는 namespace 안에 namespace가 있는 구조를 말한다
- literal
- 진수 리터럴
- float 등 리터럴
- 문자 리터럴
- { } 균일 초기자 는 C++11부터 가능하고 = 영 초기자로도 불린다
- C++은 strong type 언어로으로 항상 코드를 구체적으로 지정해야한다
- 숫자 경계 값
- 경계값이란 (예) 정수의 최대값
- C에서는 INT_MAX 처럼 #define 정의된 값을 구했다.
- <limits>에서 제공하는 std::numeric_limits 클래스 템플릿을 사용하는 것이 바람직 하다.
- min() 가장 작은 양의 값
- lowest() 표현 가능한 가장 작은 음수
- 캐스트
- C방식 - (int)myfloat
- 권장x 방식 - int(myfloat)
- 권장 방식 - static_cast<int>(myfloat)
- enum & enum class
- 논리 연산자
- 3방향 연산자 <=>가 추가됨 - <compare>에 정의됨
- 어트리뷰트 - 소스코드에 벤더에서 제공하는 정보나 옵션을 추가하는 메커니즘
- C array - 연속되게 저장, 반드시 크기 지정
- C++ std::array -
- C array에 비해 항상크기를 알 수 있고 자동으로 포인터를 캐스트하지 않아 특정 버그를 방지 가능.
- iterator로 배열에 대한 반복문을 쉽게 작성
- 17장에 더 자세히
- ex) std::array<int, 3> arr<9,3,7>
- CTAD(class template argument deduction)
-
auto v = std::vector({ 1, 2, 3 });
-
- std::vector
- 크기가 고정되지 않는 배열
- std::array보다 유연하고 안전하다
- runtime에 추가/삭제 가능
- generic container다
- 진행중
더 공부해야 될 내용
- 개발에 필요한 수학 공부하기
- QT 공부하기
- OpenGL 공부하기
- 기초적인 서버 공부 및 구현해보기
- 개발 보안 공부하기
- Git 공부하기
- 멀티 쓰레드 공부하기
'C++ > 공부' 카테고리의 다른 글
QMainWindow: Qt의 메인 창 관리 클래스 (0) | 2024.11.27 |
---|---|
프로그래머스 의상 C++ (1) | 2023.12.05 |
[프로그래머스] 완주하지 못한 선수 - Hash (1) | 2023.12.01 |
프로그래머스 0 떼기 (1) | 2023.11.30 |
프로그래머스 하샤드 수 C++ (0) | 2023.11.07 |