Programming/C, C++

    C++ push_back, emplace_back in std::vector

    1. push_back std::vector의 멤버 함수인 push_back은 vector의 끝에 요소를 추가할때 사용한다. 종류는 Move Semantics(R-Value)개념이 추가되서 총 2개이다. void push_back(const T& value); // C++ 03 ~ - 값 복사를 통해 요소를 추가 void push_back (T&& value); // C++ 11 ~ - (임시) 객체의 복사가 아닌 이동을 통해 요소를 추가 C++ 11에서 추가된 push_back이 불필요한 오버헤드를 줄였다. 2. emplace_back push_back과 마찬가지로 std::vector의 멤버함수로 기능인 vector의 요소 끝에 원소를 추가하는 함수이다. template ..

    03. C++ Manipulator Output Formatting

    사실 포스팅할까 망설였던 이주제... 게임 클라이언트 프로그래머를 지망하다보니 게임 엔진을 통해 개발할때 커스텀 로그 및 엔진 제공 로그등으로 입출력을 확인했었기에, 조정자를 막 프로그래밍을 입문했을 시점에 뭔가 특별한 입출력 지원 기능이 없을까 해서 찾다보니 알게되었다. ​ 먼저 Output Formatting이 무엇인지 알아보자. Output Formatting : 출력 형식(서식) 지정 출력 형식을 지정해 원하는 값을 도출해보자는 말그대로의 뜻을 가지고 있다. 예를 들어 실수를 출력하고자 하는데 뒤에 소숫점을 몇자리까지 보여줄건지, 정렬을 하고 싶은데 Column 사이즈를 몇씩 할건지 등등 여러가지 최종 출력 형식을 조정해 좀더 원하는 출력으로 이끌어 낼 수 있다. ​ 자 Output Formatt..

    02. C++ namespace

    namespace란 무엇일까? name : 이름 space : 공간 의미 그대로 해석해보면, 이름공간? 이라는 의미로 해석된다. ​ C++의 namespace는 Java의 패키지나 C#의 namespace와 비슷하며, 3개 언어에서 모두 함수, 클래스 등등의 이름 충돌을 피하기 위해 사용된다. ​ 오늘 포스팅 하고자 한 것은 C++의 namespace이기에 그에 포커스를 맞춰 진행해보겠다. C++을 처음 입문해보면, C++ 표준 라이브러리{Ex. cout(출력문), cin(입력문)}을 사용하려면, std::를 통해 표준 라이브러리 기능을 사용하거나, using namespace std;를 전처리기 밑에 선언해 std:: 없이 C++ 표준 라이브러리의 기능을 모두 사용할 수 있게 된다. ​ C++을 처음 ..

    01. C/C++ Input, Output 입출력

    프로그래밍에 처음 입문하면, 콘솔창에 무언갈 출력하는 것 부터 시작하지 않나 싶다. 위 포스팅은 C, C++언어의 입출력에 대해 설명한다. ​ ​ ​ C언어는 printf()라는 C언어의 표준 출력 함수를 사용해 여러 종류의 데이터를 다양한 서식 지정자를 통해 원하는 데이터에 맞춰 출력할 수 있다. 또한 다양한 이스케이프 시퀀스 (\?) 등을 printf에 사용해 개행을 한다던지 Tab을 적용한다던지, 경고음 출력까지도 할 수 있다. C++은 C++ Standard Library (C++ 표준 라이브러리)에 있는 cout​ (Console Out)을 통해 출력한다. 위의 한줄을 코드로는 std::cout으로 나타낼수 있으며, 개행은 C의 \n 및 std::endl 을 통해 할 수 있다. C++의 cout..