본문 바로가기

반응형

C++함수

(3)
[문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference) [문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference) 기억할 사항 ) int a = 10; // Rvalue인 10을 복사해서, a에 저장한다. (이동하는게 아님) [ivalue와 rvalue] - lvalue : 단일 표현식 이후에도 없어지지 않고, 지속되는 객체. 즉, 이름을 가지는 객체 ex ) const타입을 포함한, 모든 변수는 lvalue라고 할 수 있음, ++x - Rvalue : 표현식이 종료된 후에는 더 이상 존재하지 않는 암시적인 값 ex ) 상수, 임시객체, x++ cf ) 둘 다 증가된 값을 리턴하지만, ++x는 증가된 x 자신을 리턴하기 때문에 lvalue인 반면에, x++는..
[문과 코린이의 IT 기록장] C,C++ - 함수의 오버로딩 (함수의 오버로딩에 대한 이해, 함수의 오버로딩 과정) [문과 코린이의 IT 기록장] C,C++ - 함수의 오버로딩 (함수의 오버로딩에 대한 이해, 함수의 오버로딩 과정) 1. 함수의 오버로딩에 대한 이해 - C++에는 C와는 다른 '함수의 오버로딩'이라는 새로운 기능을 갖는다. * C라이브러리에는 pirntf와, scanf가 1개씩만 존재한다. * 그렇지만 C++에서는 같은 이름을 가진 함수가 여러 개 존재해도 된다. 즉, 함수의 이름에 과부하가 걸려도 상관이 없다는 것이다. - 그렇다면 C++에서 같은 이름의 함수를 호출했을 때 구분하는 방법은? : 함수의 인자를 보고 결정하게 된다. ex) - pirnt함수가 3개나 정의되있음에도 불구하고, C와 다르게 오류가 발생하지 않는 것을 볼 수 있다. - 즉, C++에서는 함수의 이름이 같더라도 인자가 다르다면..
[문과 코린이의 IT 기록장] C,C++ - 함수에서 포인터 활용하기(함수끼리의 변수의 값 변경, 포인터를 활용한 함수 문제 해결, SWAP함수, 배열을 인자로 받아들이는 함수, 상수를 인자로 받아들이.. - 이제 포인터를 실제로 써먹을 수 있는 방법을 배울 수 있다. * 혹시 아직 포인터에 대한 내용을 잘 모른다면, 아래 자료를 참고해 주세요 :) 1. 함수끼리의 변수의 값 변경 - 저번 내용에서, main함수에서 다른 함수에서 정의된 변수의 값을 바꿀 수 없다고 이야기 했다. ex ) i의 값이 전혀 바뀌지 않았다는 것을 알 수 있다. 그 이유는 함수 change_val을 호출할 때, change_val함수 안에서 정의된 변수인 i는, main함수의 i의 값을 전달 받은 후에, change_val 함수 안에서 정의된 변수 i의 값을 3으로 변경하게 된다. 그런데, main함수의 i가 아닌, chage_val함수 내에서 정의된 변수 i의 값이 3으로 변경되는 것이기 때문에, 결국 main함수의 i값에는 ..

반응형