C++

C++ 에서 함수에 인자를 전달하면, 전달된 인자 그 자체가 아닌 그 인자의 값이 복사되어 사용됩니다. 즉, 함수 내에서 따로 변수의 값을 변화시키는 행위를 하지 않는 이상 원본 값의 변화는 없습니다. 이를 우리는 'pass by value' 방법으로 부릅니다. Passy by value(값에 의한 전달)은 우리가 기존에 사용하던 모든 함수들이 하고 있습니다. C++ 함수의 기본 작동 방법입니다. 하지만, 우리는 함수를 통해 원본 값에 변화를 주고 싶을 때가 있습니다. 또는 매우 크기가 큰 벡터와 같은 자료에 대해서 데이터의 낭비를 방지하고자 하고 싶을 수도 있습니다. 크기가 엄청 큰 벡터를 다루는데 굳이 동일한 벡터를 복사해서 저장할 필요는 없을 때도 있을 테니까요. 그렇게 하기 위해서는, 우리는 함수..
Intro C++에서 함수에 배열을 매개변수로 사용할 때, 다음과 같은 syntax를 따르게 됩니다.여기서 주의해야 하는 것이 하나 있습니다.void print_array(int numbers []);  배열을 인자로 사용하는 법 우리가 알다시피 C++에서 함수에 매개변수를 전달하는 것은 직관적입니다.정해진 자료형에 대한 값을 괄호 내에 입력하면 됩니다.그리고 이는 벡터 또한 마찬가지입니다. 하지만 C++ 배열을 매개 변수로 사용할 때는 조금 다릅니다.C++에서 배열의 이름은 해당 배열의 첫번째 값이 들어있는 데이터상 주소를 나타냅니다.다시 말하자면, 배열의 이름은 해당 배열의 시작 지점의 주소를 나타냅니다. 그렇기 때문에, 함수에 배열을 인자로 사용하게 되면, 다른 자료형과는 다르게 자료가 통째로 복사..
C++에서 함수는 입력 인자의 자료형에 제약이 있습니다. 예를 들어 정수형 2개를 입력받고 두 값을 더한 정수를 반환하는 함수에 double형 값을 입력하면 문제가 발생합니다. 하지만 비슷한 또는 동일한 기능을 하고, 다양한 자료형을 모두 처리할 수 있는 함수가 필요할 때도 있습니다. 이럴 때 우리는 함수 오버로딩을 사용합니다. 쉽게 설명하자면, 같은 이름을 가졌지만 다른 자료형을 처리하는 함수입니다. 입력 인자의 자료형이 다르다는 뜻입니다. * 함수의 반환 자료형은 상관 없습니다. 입력 인자의 자료형만 고려합니다. 간단한 예시를 보겠습니다. // Overloading Function #include using namespace std; int add_num(int, int); double add_num..
Prototype(프로토타입) C++ 에서 함수를 선언할 때, 여러가지 편의성을 이유로 프로토타입을 선언합니다. 가장 큰 이유로는 함수 선언의 순서를 신경쓰지 않아도 되는 것과 문서의 가독성을 높이고 코드 구조를 개선하는 이유입니다. 프로토타입의 위치는 무조건 함수의 선언 이전에 있어야 합니다. 관례적으로는, 헤더 이후 프로토타입 선언을 하고, 메인 함수 이후에, 프로토타입으로 선언된 함수들의 선언을 합니다. 프로토타입의 형태는 다음과 같습니다. // Function Prototypes void say_hello(); // 함수 Argument가 없을 때 int add_nums(int, int); int subt_nums(int n1, int n2); // 함수 argument가 있을 때, 두 형태 모두..
Ricky U. Lee
'C++' 카테고리의 글 목록 (10 Page)