이전에는 암호화와 암호 해독을 먼저 이해합니다?… 차이점은 guarded.hpp에서 __GUARDED_HPP 사전 프로세서 매크로가 정의되지 않은 경우에만 포함되는 조건부로 전체 헤더를 둘러싸는 것입니다. 전처리기에서 이 파일을 처음 포함하면 정의되지 않습니다. 그러나 매크로가 보호된 코드 내부에 정의되어 있으므로 다음에 동일한 소스 파일에서 직접 또는 간접적으로 매크로가 포함되므로 전처리기는 #ifndef #endif 사이의 줄을 보고 둘 사이의 모든 코드를 삭제합니다. 지금까지 동일한 소스 파일에서 직접 또는 간접적으로 헤더를 두 번 포함하지 않도록주의했습니다. 그러나 한 헤더에는 다른 헤더가 포함될 수 있기 때문에 동일한 헤더를 간접적으로 여러 번 포함할 수 있습니다. 또한 헤더 콘텐츠가 포함된 위치에 삽입되므로 중복된 선언으로 쉽게 종료할 수 있습니다. 놀랍게도 함수의 정의에는 변수 이름이 필요하지 않습니다. 함수에서 실제로 매개 변수를 사용하는 경우에만 필요합니다. 그러나 사용하지 않으면 매개 변수를 형식과 함께 그대로 둘 수 있지만 이름은 없습니다. 함수가 사용하지 않을 매개 변수를 선언하는 이유는 무엇입니까? 때로는 함수(또는 메서드)가 관찰자에게 전달되는 특정 매개 변수를 정의하는 콜백 인터페이스와 같은 인터페이스의 일부일 수 있습니다. 관찰자는 호출자에서 모두 전송되므로 인터페이스에서 지정한 모든 매개 변수를 사용하여 콜백을 만들어야 합니다.

그러나 관찰자는 모든 매개 변수에 관심이 없을 수 있으므로 “사용되지 않는 매개 변수”에 대한 컴파일러 경고를 받는 대신 함수 정의는 이름없이 그대로 둘 수 있습니다. 예외 처리는 런타임 문제 또는 문제가 검색된 위치에서 문제를 처리할 수 있는 위치까지 의 존재를 알리는 데 사용됩니다. [60] 모든 오류를 감지하면서 기본 코드와 별도로 균일한 방식으로 수행할 수 있습니다. [61] 오류가 발생하면 예외가 throw(발생)되어 가장 가까운 적합한 예외 처리기에 의해 catch됩니다. 예외로 인해 현재 범위가 종료되고 적절한 처리기가 발견될 때까지 각 외부 범위(전파)가 발생하여 이러한 종료된 범위의 개체의 소멸자가 차례로 호출됩니다. [62] 동시에, 검출된 문제에 대한 데이터를 전달하는 객체로서 예외가 제시된다. [63] 코드 줄 1: 첫 번째 줄은 #include . 컴파일러에 표준 스트림 I/O 라이브러리를 포함하도록 지시합니다. 이 헤더 포함없이 표현식은 21 st 세기의 새벽에 컴파일되지 않을 것입니다, C ++는 공격을 받고 있었다. C의 팬들은 C ++ 가 C ++ 프로그램을 지적했는데, 그 성능은 C ++ 사용이 너무 어렵다고 주장하면서 독점적 인 객체 지향 언어를 선전하면서 C. 유명한 기업에서 작성된 동등한 코드보다 열등하다고 지적했습니다. 미래.

대학은 무료 도구 체인과 함께 왔기 때문에 교육을 위해 Java에 정착했습니다. 이 모든 화제의 결과로, 대기업은 자바 또는 C # 또는 PHP의 코딩 웹 사이트 및 운영 체제에 큰 돈을 베팅했다. C ++는 쇠퇴하는 것 같았습니다. C++가 강력하고 유용한 도구라고 믿는 사람에게는 불편한 시간이었습니다. 일반적으로 파생 클래스의 함수가 기본 클래스의 함수를 재정의할 때 호출할 함수는 개체의 형식에 따라 결정됩니다. 지정된 함수는 해당 함수의 둘 이상의 정의 간에 매개 변수의 수 또는 형식에 차이가 없는 경우 재정의됩니다. 따라서 컴파일 타임에 기본 클래스 포인터만 주어지면 개체의 형식과 호출할 올바른 함수를 확인할 수 없습니다. 따라서 결정은 런타임까지 연기됩니다. 이를 동적 디스패치라고 합니다. 가상 멤버 함수 또는 메서드[59]를 사용하면 개체의 실제 런타임 형식에 따라 함수의 가장 구체적인 구현을 호출할 수 있습니다.