|
김인구.구야 님이 쓰신 글 :
:
: 전 인라인 함수를
: class A {
: int a;
: public:
: liline void fun(int x) {a = x};
: };
: 이렇게 만드는줄 알았습니다.
위와 같이 쓰는 건 첨보네요.
: 책에도 이렇게 나왔던거 같구요.
: 근데
: class A {
: int a;
: public:
: void fun(int x) {a = x};
: };
: 이렇게 해도 되고
자바처럼 클래스안에 함수 정의를 쓰면
기본으로 인라인 함수가 됩니다.
: inline을 써야할때는 외부에 함수를 정의할때
: class A {
: int a;
: public:
: void fun(int x);
: };
:
: inline void A::fun(int x)
: {
: a = x;
: }
하지만 C++에서는 함수 정의가 길어져서 한 두줄 이상이 되면,
관례적으로 클래스 외부에 놓지요.
이럴 경우에는 inline을 써야 합니다.
인라인은 함수가 비교적 짧은 편일때만 쓰는 것이 좋습니다.
길어지면 성능 향상 효과가 적어지죠.
: 이럴때 inline키워드를 쓰는거라고 다른책에서 봤습니다.
: 어떻게해도 작동은 하지만
: 생각해보니
: class A {
: int a;
: public:
: inline void fun(int x) {a = x};
: };
: 이렇게 하는것은 이중으로 표현하는거 같습니다.
예, 이중 표현 맞습니다.
|