본문 바로가기

프로그래밍 기초/C++7

객체란? 객체는 실체(Instance)를 말한다.Class와 Instance를 구분할 줄 알아야 한다.우리가 클래스를 만들어 메인 함수 또는 다른 함수에서 클래스를 사용하려 할 때 인스턴스화(객체화)를 통해 실제로 메모리 상에 올라가야 그것을 객체라 지칭하고 사용할 수가 있다. 이 때 우리는 클래스의 형식을 가진 객체, 즉 실체(Instance)를 만드는 것이다. 예를 들어보자.형준은 실체이고 진환은 실체이다. 진환과 형준이 가진 학생이라는 특성은 class가 된다. 우리가 학생이라는 클래스를 만들면 모든 학생들이 공통적으로 가지는 특징들을 클래스에 정의할 수 있다. 하지만 그것은 실체(객체)가 아니다. 객체화(인스턴스화, 실체화)를 해야지만 실체(객체)가 되는 것이다. 학생이라는 클래스 형식으로 형준, 진환, .. 2016. 11. 11.
인라인 함수(Inline function) 컴파일러가 함수를 호출할 때 함수가 정의된 부분으로 찾아가서 보고 다시 원래 위치로 돌아오는데 이 시간을 줄이기 위해서 함수 정의 부분의 코드를 호출된 프로그램코드에 그대로 복사가 되어져서 왔다 갔다 하는 이동시간을 줄이는 기법- 함수 앞에 inline이라고 쓰기만 하면 됨- 빠르게는 40%정도의 속도 효율이 있을 수 있다.- .h파일 안에서 정의가 되어야만 인라인화 할 수 있다. 기억하자.- 근데 컴파일러가 인라인화를 거부하는 경우도 생김(가상함수의 경우 inline을 써도 문제없이 돌아가지만 인라인화가 되지 않음)- 컴파일러가 알아서 인라인화 하는 경우도 있다.근데 전부 인라인을 쓰게 되면 프로그램 코드가 길어지기 때문에 정의는 짧고 자주 호출 되는 경우에 인라인 함수를 쓰는 것이 가장 좋다. 코드가.. 2016. 11. 11.