c++ 기초(5)
-
[C/C++] vcpkg로 C++ 라이브러리 관리 쉽게 하기
C++ 라이브러리 관리하기 C++ 프로젝트가 커질수록 다양한 외부 라이브러리를 사용하게 된다. 맨 처음 gcc, g++, make만 가지고 프로젝트를 빌드할 때와는 차원이 다르게 복잡도가 늘어난다. 그래서 그걸 도와주기 위해 CMake를 사용하는데 이걸 사용할 때에도 무슨 기능을 어떻게 써야할지 막막할 때가 많다. 특히 외부 라이브러리를 가져오는데 있어서 너무 다양한 방법이 있는데, 그게 모두 동일하게 동작하지도 않거니와 라이브러리의 버전을 관리하는데 있어서도 굉장히 불편하다. 그런 점들을 해결해주고, 마치 javascript의 package.json 파일처럼 외부 라이브러리를 관리해주는게 있는데 그게 마이크로소프트에서 나온 vcpkg다. vcpkg란 공식 페이지의 메인화면을 캡쳐해왔다. 마이크로소프트에..
2022.12.23 -
[C++ 스터디] 열거 타입 (enum), 구조체 (struct)
열거 타입 (enum) 숫자를 나열하는 방식과 범위를마음대로 정의해서 변수를 선언하는데 활용 체스 말을 const int 로 표현하는 경우 const int PieceTypeKing = 0; const int PieceTypeQueen = 1; const int PieceTypeRook = 2; const int PieceTypePawn = 3; int myPiece = PieceTypeKing; -> myPiece 값이 바뀔 수 있다. enum 타입을 적용하면 변수에 지정할 수 있는 값의 범위를 엄격하게 제한 → 변수 값의 변경에 관련된 문제 방지 가능 enum PieceType { PieceTypeKing, PieceTypeQueen, PieceTypeRook, PieceTypePawn}; 각 멤버에..
2022.07.05 -
[C++ 스터디] 리터럴, 변수, 그리고 연산자
리터럴 코드에 표시한 숫자나 스트링 같은 값 다양한 표준 리터럴을 제공 십진수 리터럴: 123 8진수 리터럴: 0173 16진수 리터럴: 0x7B 이진수 리터럴: 0b1111011 부동소수점 값: 3.14f 배정도 부동소수점 값: 3.14 단일 문자: ‘a’ ‘0’으로 끝나는 문자 배열: “character array” 변수 선언 방식 int uninitializedIntl; -> 초기화하지 않은 변수 선언; 쓰레기값이 들어있다. int initializedInt = 7; -> 변수 초기화하면서 선언 타입 종류 (signed) int 부호가 있는 정수(양수와 음수)를 표현하며, 값의 범위는 컴파일러마다 다름 (대부분 4바이트다.) (signed) short (int) 작은 범위의 정수 (대부분 2바이트로..
2022.07.03 -
[C++ 스터디] 네임스페이스란
네임스페이스 코드에서 이름이 서로 충돌하는 문제를 해결하기 위해 나온 개념 사용하기 위해서는 namespace 블록으로 감싼다. // namespace.h namespace mycode { void foo(); } 선언 뿐 아니라 구현 부분도 묶을 수 있다. // namespace.cpp #include #include "namespaces.h" void mycode::foo() { std::cout
2022.07.01 -
[C++ 스터디] 전문가를 위한 C++ 공부 시작
이제 회사에서 C++을 사용하게 됐다. 예전에는 그냥 별이유 없이 공부를 하려고 했는데, 이제 진짜로 써야하니까 제대로 공부를 해보려고 회사 친구에게 책 추천을 받았다. 긱한 친구가 추천해준 책이 바로 이 책, '전문가를 위한 C++'이다. 사실 기초는 많이 다뤄주지 않는다고 하지만, 목차를 읽어보면 실전 프로그래밍에 맞게 다양한 주제를 다뤄준다고 되어있다. 일단 최대한 빨리 많은 양을 읽고 소화해내는게 내 목표다! 최대한 열심히 공부해보자!
2022.06.29