C++
함수 오버로딩과 포인터
홍정모의 따라하며 배우는 C++의 7.7 함수 오버로딩 정리 1. 함수 오버로딩 함수 오버로딩은 다른 매개변수를 가진 이름이 같은 함수를 여러개 만들 수 있는 기능이다. int add(int x, int y); double add(double x, double y); add라는 함수는 이름은 같지만 매개변수와 반환타입이 다르다. add 함수를 사용할 때, 매개변수에 넣어주는 값에 따라 컴파일러가 어떤 함수를 호출할지 결정한다. 컴파일러는 오버로딩된 함수의 반환타입은 고려하지 않고 이름과 매개변수로만 구분을 하기 때문에 다음과 같은 코드는 컴파일 에러가 발생한다. int getNumber(); double getNumber(); 이런 경우에는 함수의 이름을 서로 다르게 짓거나, 참조를 이용해서 반환값을 매..
포인터와 const
홍정모의 따라하며 배우는 C++에서 6.13 포인터와 const 정리 1. 포인터 포인터는 값을 저장하는 변수가 아니라 메모리 주소를 저장하는 변수다. int value = 5; int *ptr = &value; // 메모리 주소 출력 cout
cin과 getline
홍정모의 따라하며 배우는 C++의 4.6 문자열 std string 소개에서 설명한 cin, getline의 차이점에 대한 정리 1. cin과 getline cin과 getline(string의 getline이다.)은 C++에서 사용자로부터 값을 입력받을 때 사용할 수 있는 함수이다. 두 함수 모두 입력 스트림에서 문자를 읽다가 구분자(delim)를 만나게 되면, 구분자를 버리고 입력 스트림에서 문자 읽기를 중단하게 된다. getline에서 구분자를 사용하는 경우의 예시는 다음과 같다. #include #include using namespace std; int main() { string a; // Hello,World 입력 getline(cin, a, ','); // Hello cout
헤더 파일과 소스 파일 나누기
인프런 홍정모의 따라하며 배우는 C++ 중 선언과 정의의 분리를 비주얼 스튜디오 코드에서 적용하는 방법을 정리 1. 헤더 파일과 소스 파일 코딩 테스트를 연습한다던가 책이나 강의에 나와있는 간단한 예제들을 타이핑 할 때는 main 함수가 포함되어 있는 파일 하나로 충분한 경우가 많이 있다. 그러나 프로그램의 규모가 커지게 되면 하나의 파일로 감당이 어렵기 때문에 자연스럽게 파일을 분리하게 될 것이다. C++에서는 헤더 파일과 소스 파일로 분리를 할 수 있다. 우선 함수의 선언과 정의가 모두 하나의 파일 안에 있는 경우를 살펴보자. // main.cpp #include using namespace std; int add(int x, int y); int main() { cout