天天看點

inline内聯函數1

如果在某種情況下,想實作像宏那樣代碼展開的話,不妨試試c++為我們提供的inline,可以節省必要的由于函數調用帶來的開銷。需要注意的是,inline隻是一種暗示,和register很像。

/***************************************

*inline内聯函數

**************************************/

#include <iostream>

using namespace std;

inline int max(int a,int b)

{

  return a>b?a:b;

}

int main(int argc, char **argv)

  cout<<max(10,20);

  cout<<"        "<<max(99,88)<<endl;

  return 0;

代碼2:

/*******************************************************

*友元類friend

*******************************************************/    

//類A

class A{

  int a,b;

public:

  void init(int m,int n);

  void show

};

inline void A::init(int m,int n)

  a=m;

  b=n;

//類B

class B{

  int min(A x);

int B::min(A x)

  return x.a<x.b?x.a:x.b;//通路私有成員

int main(int argc,char* argv[])

  A aa(123,321);

  B bb;

  cout<<bb.min(aa);;//123

}

繼續閱讀