C++

    [C++] 타입 추론에 대하여

    안녕하세요? 수구리입니다. 지난 포스팅에서는 C++에서의 레퍼런스(참조) 방식과 예외처리에 대해서 알아봤었죠? 2021.08.19 - [C++] - [C++] 1.2.4 ~ 1.2.5 레퍼런스와 익셉션 [C++] 1.2.4 ~ 1.2.5 레퍼런스와 익셉션 안녕하세요? 수구리입니다. 지난 포스팅에서는 C++의 const에 대해서 알아봤었죠? 지난 포스팅 참고! 2021.08.18 - [C++] - [C++] 1.2.3 const의 이해 [C++] 1.2.3 const의 이해 지난 포스팅에는 C++에서의 스트링.. tasddc.tistory.com 이번 포스팅에서는 C++의 타입 추론 키워드인 auto에 대하여 알아보도록 하겠습니다! 바로 시작해보겠씁니다~ 1.2.6 타입 추론 표현식의 타입을 컴파일러가 스..

    [C++] 1.2.4 ~ 1.2.5 레퍼런스와 익셉션

    안녕하세요? 수구리입니다. 지난 포스팅에서는 C++의 const에 대해서 알아봤었죠? 지난 포스팅 참고! 2021.08.18 - [C++] - [C++] 1.2.3 const의 이해 [C++] 1.2.3 const의 이해 지난 포스팅에는 C++에서의 스트링과 포인터 그리고 동적 메모리에 대하여 알아보았는데요. 2021.08.18 - [C++] - [C++] 1.2.1 ~ 1.2.2 스트링 & 포인터와 동적 메모리 [C++] 1.2.1 ~ 1.2.2 스트링 & 포인터와 동.. tasddc.tistory.com 이번 포스팅에서는 면접에서 단골 질문이라는 값-전달 방식과 참조 전달 방식에 대해서 알아보고 추가로 예외처리인 익셉션에 대해서 알아보도록 하겠습니다! 1.2.4 레퍼런스(참조) 참조를 사용하면 기존 ..

    [C++] 1.2.3 const의 이해

    지난 포스팅에는 C++에서의 스트링과 포인터 그리고 동적 메모리에 대하여 알아보았는데요. 2021.08.18 - [C++] - [C++] 1.2.1 ~ 1.2.2 스트링 & 포인터와 동적 메모리 [C++] 1.2.1 ~ 1.2.2 스트링 & 포인터와 동적 메모리 안녕하세요? 수구리입니다. 지난 포스팅에서는 이니셜라이저 리스트에 대해서 알아봤었죠? 2021.08.17 - [C++] - [C++] 1.1.15 이니셜라이저 리스트 [C++] 1.1.15 이니셜라이저 리스트 안녕하세요! 수구리입 tasddc.tistory.com 이번 포스팅에서는 C++ 뿐만 아니라 JavaScript에서도 보았을 const에 대하여 알아보도록 하겠습니다! C++는 대표적인 객체지향 언어로 유명하죠! 따라서 매개변수로 const..

    [C++] 1.2.1 ~ 1.2.2 스트링 & 포인터와 동적 메모리

    안녕하세요? 수구리입니다. 지난 포스팅에서는 이니셜라이저 리스트에 대해서 알아봤었죠? 2021.08.17 - [C++] - [C++] 1.1.15 이니셜라이저 리스트 [C++] 1.1.15 이니셜라이저 리스트 안녕하세요! 수구리입니다. 저번 포스팅에서는 반복문에 대해서 알아보았습니다! 2021.08.13 - [C++] - 1.1.14 반복문 1.1.14 반복문 안녕하세요? 수구리에요. 드디어 반복문까지 도착했습니다.! 이번 포 tasddc.tistory.com 이번 포스팅에서부터는 1.2절로 넘어와서 C++의 고급 기능에 대해서 알아보려고 합니다! 확실히 1.1절보다는 내용이 많고 제가 처음보는 개념도 등장하네요.. 그러면 바로 시작하겠습니다! 복습 필수 1.2 C++의 고급 기능 이번 파트에서는 C++..

    [C++] 1.1.15 이니셜라이저 리스트

    안녕하세요! 수구리입니다. 저번 포스팅에서는 반복문에 대해서 알아보았습니다! 2021.08.13 - [C++] - 1.1.14 반복문 1.1.14 반복문 안녕하세요? 수구리에요. 드디어 반복문까지 도착했습니다.! 이번 포스팅에서는 반복문의 기본 형태들에 대하여 알아보고, C++에서 특이한 반복문인 범위 기반 반복문에 대하여 알아보도록 하겠 tasddc.tistory.com 이번 시간에는 이니셜 라이저 리스트에 대해서 알아보도록 하겠습니다! 이니셜라이저 리스트란? 라는 헤더 파일에 정의되어 있다. 이를 통해 여러 인수를 받는 함수를 쉽게 작성할 수 있다. vector에 저장할 객체의 타입을 지정할 때처럼 원소 타입에 대한 리스트를 로 묶어서 지정한다. 아래의 예제에서 이니셜라이저 리스트를 인수로 받는 함수..

    [C++] 1.1.14 반복문

    안녕하세요? 수구리에요. 드디어 반복문까지 도착했습니다.! 이번 포스팅에서는 반복문의 기본 형태들에 대하여 알아보고, C++에서 특이한 반복문인 범위 기반 반복문에 대하여 알아보도록 하겠습니다! 프로그래밍을 하는 이유는 반복적인 일 또는 계산을 컴퓨터에게 대신 시켜서 처리하기 위함이다. 반복문을 사용하면 같은 일을 계속 반복하는데 유리하다. while 문 // while문 기본 형태 int i = 0; while (i < 5) { std::cout

    [C++] 1.1.13 구조적 바인딩

    안녕하세요! 이번 포스팅에서는 구조적 바인딩을 소개하려고 합니다. python에서 많이 보던 것이라그런지 쫌 익숙해 보이드라구요~ 바로 시작합니다! C++17 부터는 구조적 바인딩(structured binding)이란 개념이 도입 이를 이용하여 여러 변수를 선언할 때 배열, 구조체, 페어 또는 튜플의 값으로 초기화 가능 // 배열 선언 std::array values = {11, 22, 33}; // 구조적 바인딩 적용 auto [x, y, z] = values; 구조적 바인딩을 사용하려면 선언할 변수의 개수와 오른쪽에 나온 표현식의 반드시 값이 같아야 한다! 이상입니다!

    [C++] 1.1.12 std::vector

    안녕하세요. 수구립니다. 지난 포스팅에서는 C와 C++에 배열 스타일에 대하여 각각 알아보았는데요~ 이번 포스팅에서는 크기가 고정되어지지 않는 동적으로 변하는 배열인 vector에 대하여 알아보도록 하겠습니다! 언제나 지적은 환영입니다..! 크기가 동적으로 변하는 배열을 사용하기 위하여 사용한다. 헤더 파일어 선언되어 있으며 훨씬 유연하고 안전하다. 이는 메모리를 충분히 확보하는 작업을 알아서 처리해준다. 즉, 동적이다. // vector의 사용 예시 vector myVector = {1, 2}; // push_back()을 사용하여 생성한 벡터에 정수 추가 myVector.push_back(33); myVector.push_back(44); // 원소에 접근 cout

    [C++] 1.1.10 C 스타일의 배열

    안녕하세요? 수구리입니다..!! 오늘은 폭풍 업로드를 하고 있습니다.. 바로 꿀 주말을 보내기 위해서이죠..!! 다들 주말에는 주로 무엇을 하시나요?? 궁금합니다..! 암튼 각설하고 이번 포스팅에서는 C 스타일의 배열에대하여 알아보려고 합니다! 배열은 쉽게 말해 기차라고도 생각할 수 있겠습니당. C++에서는 배열을 선언할 때 반드시 배열의 크기 지정 반드시 상수 또는 상수 표현식(constant expresstion, constexpr)로 지정해야 한다. (11장에서 자세히) // 배열 선언 및 초기화 int myArr[3]; myArr[0] = 0; myArr[1] = 0; myArr[2] = 0; // zero-initialization (제로 초기화) int myArr[3] = {0}; // 0 생..

    [C++] 1.1.11 std::array

    안녕하세요! 수구리입니다. 지난 포스팅에서는 C 언어에서의 배열에 대하여 알아보았는데요~ 이번 포스팅에서는 C++에서 제공하고 있는 std::array에 대하여 알아보려고 합니다! 출발! 헤더 파일에 정의되어 있는 std::array라는 고정 크기 컨테이너를 제공한다. std::array의 장점 * 항상 크기를 알 수 있다. * 자동으로 포인터를 캐스팅 하지 않아서 특정 종류의 버그를 방지할 수 있다. * 반복자로 배열에 원소에 대한 반복문을 쉽게 작성 가능. // array 컨테이너 예시 array arr = {1, 2, 3}; cout