function

string mystr = "Hello Guys!"; const char *c_mystr = mystr.c_str(); cout
C++에서 함수는 포인터들도 리턴할 수 있습니다. 그러한 함수들은 type *funcion(); 의 형태로 선언됩니다. 한가지 중요한 점은 '절대로 함수 내의 로컬 변수를 리턴하지 않는다.' 입니다. 간단한 예시 코드를 살펴보겠습니다. int *largest_int(int *int_ptr1, int *int_ptr2){ if (*int_ptr1 > *int_ptr2) return int_ptr1; else return int_ptr2; } 두개의 정수 포인터를 비교하여 더 큰 값의 정수의 포인터를 반환합니다. 이 함수를 사용하는 메인 함수의 예시는 다음과 같을 수 있습니다. int main() { int a {30}; int b {40}; int *largest_ptr{nullptr}; largest_p..
'반복문 응용 프로그램' 포스트에서 구현했던 프로그램을 함수를 적극적으로 이용하여 동일하게 구현해 보았습니다. 기존의 프로그램은 함수의 활용이 없었지만, 이번 프로그램은 함수로 변경하고 기능도 몇 개 추가하였습니다. 함수 없이 반복문들로만 구현된 기존의 프로그램은 다음 포스트에서 확인 가능합니다. [C++] 반복문 응용 프로그램 코드 설명 switch문, for문, do-while문을 모두 활용한 간단한 프로그램입니다. 여러가지 기능을 수행하기 위해 사용자로부터 입력을 받고, 그 입력에 해당하는 기능을 수행합니다. 코드 #include using na code-studies.tistory.com 간략하게 설명하자면, 사용자로부터 문자를 통해 옵션을 선택 받고 그에 따른 동작을 행하는 프로그램입니다. 모든..
C++ 에서 함수에 인자를 전달하면, 전달된 인자 그 자체가 아닌 그 인자의 값이 복사되어 사용됩니다. 즉, 함수 내에서 따로 변수의 값을 변화시키는 행위를 하지 않는 이상 원본 값의 변화는 없습니다. 이를 우리는 'pass by value' 방법으로 부릅니다. Passy by value(값에 의한 전달)은 우리가 기존에 사용하던 모든 함수들이 하고 있습니다. C++ 함수의 기본 작동 방법입니다. 하지만, 우리는 함수를 통해 원본 값에 변화를 주고 싶을 때가 있습니다. 또는 매우 크기가 큰 벡터와 같은 자료에 대해서 데이터의 낭비를 방지하고자 하고 싶을 수도 있습니다. 크기가 엄청 큰 벡터를 다루는데 굳이 동일한 벡터를 복사해서 저장할 필요는 없을 때도 있을 테니까요. 그렇게 하기 위해서는, 우리는 함수..
Ricky U. Lee
'function' 태그의 글 목록