본문 바로가기
반응형

Language & Framework & GIT/C++30

[C++] Queue 간단 정리 Queue FIFO(First In, First Out) 방식 동작 ✅queue container는 deque와 list container에 붙어 사용 가능하다.(vector container 불가능) ✅ vector container가 불가능한 이유 : FIFO 특성상 vector는 앞에서 빼는 동작을 지원해 주지 않기 때문. ✅ 내부적으로 deque, list container로 구현되어 있으나, queue 구조로 동작하도록 멤버 함수를 제공해주는 것이다. ✅ default는 deque container 기반으로 설정 1. queue container 사용법 - 헤더파일 안에 있다. - using namespace std; 이름 공간을 사용해주면 편리하다. 2. queue conta.. 2023. 11. 27.
[C++] auto? 급식 때 건담 게임을 한창 할 때, 오토노토다케시? 누군지는 모르겠는데 입에 달고 다녔던 기억이 난다. 뭔진 모르겠다 암튼, 중간 매개체(rqt, shark뭐시기...)를 통해 ROS에서 PUB/SUB을 주고 받는 과정에서 매개체 없이 바로 주고 받는 경우 코드를 짜다보니 auto를 사용하게 되어 정리했다.(에러났는데 애가 말을 안들어서 개념정리하러옴) auto? : c++ 11 이전에는 자동 저장소 클래스에 있는 변수, 지역변수를 선언하는 역할 c++ 11부터는 auto라는 선언의 초기화 식에서 형식이 추론되는 변수를 선언하는 역할 c++ 버전에 따라 auto라는 키워드가 동작을 다르게 하니 주의하자! #include using namespace std; int main( ) { int count = .. 2023. 11. 23.
[C++] 파일 입출력 간단한 예제(ofstream, ifstream) c++에서 간단하게 txt파일에 글을 쓰고 읽어오는 예제다. "입력 문자 입니다." 라는 문자열을 file.txt 메모장에 쓰고 이 파일을 다시 읽어오는 예제다. #include "fstream" #include "iostream" #include "string" using namespace std; int main() { string str = "입력 문자 입니다."; ofstream ofs("file.txt"); ofs 2023. 11. 10.
[C++] Main함수 - 매개변수 argc와 argv *️⃣ argc와 argv 1. main 함수의 매개변수 C 에서 main함수는 프로그램 진입점이다. 즉, 최초로 함수로 구동되어 실행되는 시점이다. 함수의 매개변수(파라미터)는 이 함수를 호출할 때 전달해주는 정보를 뜻한다. 우리는 보통 함수를 만들어 놓고 호출할 때 매개변수에 정보를 넣어준다. 그런데 main함수는 최초로 시작하는 진입점인데 어떻게 정보를 전달할까? main함수의 원형은 다음과 같다. int main (int argc, char* argv[]) main 함수에 argc, argv 라는 매개 변수를 전달한다. 여기서 argc와 argv의 의미는 다음과 같다. int argc : 메인 함수에 전달되는 정보의 개수 (argument count) char* argv[] : 메인 함수에 전달되.. 2023. 11. 10.
[C++] 스마트 포인터(SMART POINTER) BAG 파일에 대해 다루다보니, 메모리 할당에 관한 코드를 보게 되어서 그런지 스마트 포인터들이 많이 보였다. 스마트 포인터는 C++에서 메모리 관리를 도와주는 중요한 기능이다. 일반적으로 new 키워드를 사용해 동적으로 할당받은 메모리는, 반드시 delete 키워드를 통해 해제해야 한다. C++에서는 메모리 누수로부터 프로그램의 안전성 보장을 위한 스마트 포인터를 제공한다. 스마트 포인터 : 포인터처럼 동작하는 클래스 템플릿으로, 사용이 끝난 메모리를 자동으로 해제해준다. 자주 쓰이는 스마트 포인터는 unique_ptr, shared_ptr이다. 내가 보고 있는 코드만 봐도, 스택오버플로나 다른 참고자료도 대부분 위 두 개만 쓴다. 왜 쓰는 지를 모르는 상황에 갖다 붙여넣기만 하니, 답답해서 정리했다... 2023. 10. 27.
[C++]What is _MSC_VER? 엠에스시벌?이 뭘까 생각하다가 무슨 버전인 듯한데, 역시 모를 땐 구글링.. Chatgpt 얘는 입만 열면 그짓말이 자동으로 나와 신뢰도가 하락했다 _MSC_VER(엠에스시벌) : 컴파일러 버전 번호의 주 번호 요소와 부 번호 요소를 인코딩하는 정수 리터럴로 정의 된다. 메이저 번호는 마침표로 구분된 버전 번호의 첫 번째 요소이고 마이너 번호는 두 번째 요소이다. 예를 들어, Microsoft C/C++ 컴파일러의 버전 번호가 17.00.51106.1인 경우 _MSC_VER매크로는 1700이다. 컴파일러의 버전 번호를 보려면 명령줄에 cl/?를 입력하면 된다. 특정 버전의 Visual Studio 또는 그 이후 버전에서 컴파일러 릴리스 또는 업데이트를 테스트하려면 >=연산자를 사용한다. _MSC_VER알.. 2023. 10. 17.
C++ std::string 원소 접근 방법(front, back, at, operator) 코드 이해를 위해 C++을 같이 보다보니, 책보다 구글센세가 알려주는게 더 많아서 정리. 구글이라서 최강인가, 최강이라서 구글인가(퇴근 직전에 갑자기 생각나서 넣음) c++ std::string의 원소 접근 방법인 operator[], at, front, back 4가지에 대해 정리해보려 한다. http://www.cplusplus.com/reference/string/string/ 을 바탕으로 정리했다. 사실 그냥 at 쓰임이 긴가민가해서 다 가져옴. 1. operator[] char& operator[] (size_t pos); const char& operator[] (size_t pos) const; 이는 string의 pos위치의 문자에 대한 Reference를 반환한다 예제 코드 뭔가 복잡한것.. 2023. 10. 16.
반응형