Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 인라인과 매크로의 차이점 - 2020 - 다른 사람


이 게시물에서는 C++에서 인라인과 매크로의 차이점을 이해할 것입니다.

인라인

  • C++의 함수입니다.

  • 컴파일러에 의해 구문 분석됩니다.

  • 클래스 내부 또는 외부에서 정의할 수 있습니다.

  • 인수를 한 번만 평가합니다.

  • 컴파일러는 모든 함수를 '인라인' 함수로 변환하고 모두 확장하지 않을 수 있습니다.

  • 클래스 내부에 정의된 짧은 함수는 자동으로 인라인 함수로 만들어집니다.

  • 클래스 내의 인라인 함수는 클래스의 데이터 멤버에 액세스할 수 있습니다.

  • 인라인 함수는 중괄호를 사용하여 종료할 수 있습니다.

  • 디버깅하기 쉽습니다.

  • 이는 컴파일 중에 오류 검사를 하기 때문입니다.

  • 함수 본문의 모든 명령문을 바인딩합니다.

inline return_type funct_name ( parameters ) {
   . . .
}

매크로

  • 전처리기에 의해 확장됩니다.

  • 프로그램 시작 시 정의됩니다.

  • 코드 내에서 사용될 때마다 인수를 평가합니다.

  • 항상 확장되어야 합니다.

  • 구체적으로 정의해야 합니다.

  • 그들은 결코 반의 일원이 되지 않을 것입니다.

  • 클래스의 데이터 멤버에 액세스할 수 없습니다.

  • 매크로 정의는 새 줄로 끝납니다.

  • 컴파일 타임에는 에러 체크가 일어나지 않아 매크로 디버그가 어렵다.

  • 종료 기호가 없기 때문에 하나 이상의 명령문을 포함하는 경우 바인딩 문제가 발생합니다.

#define macro_name char_sequence