SAL(Standard Annotation Language)
Microsoft 소스 코드 주석 언어라고 부르며, 이는 함수의 매개변수를 어떻게 사용하는지 설명해줄 수 있는 주석이다.
<sal.h> 헤더 파일 안에 정의되어 있다.
위와 같이 함수의 매개변수 앞(__inout)에 사용할 수 있다.
코드를 보았을 때, 이 매개변수가 어떻게 작동하는지 설명할 수 있어 규모가 큰 팀 단위 개발일 때 사용하기도 한다고 한다.
__inout뿐만 아니라 다양한 주석 또한 존재한다.
_In_ 호출된 함수에 대한 입력
_Inout_ 호출된 함수에 대한 입력 및 호출자에게 출력
_Out_ 호출자에게 출력
_Outptr_ 호출자에 대한 포인터의 출력
이처럼 각 SAL마다 의미가 있어서 상황에 맞게 잘 쓰면 개발자가 함수를 사용하는 방법을 더 잘 이해할 수 있다.
표준 라이브러리(Standard Library)
우리가 항상 먼저 입력하던 #include <iostream>에서 iostream, string 등등을 말하며,
C++의 클래스들과 함수들의 집합체를 C++ 표준 라이브러리라고 부른다.
C++ 표준 라이브러리가 있다면 C++과 가장 밀접한 C의 표준 라이브러리도 존재한다.
몇 번 썼었던 math.h, time.h 등과 같은 헤더 파일들이 대표적인 예시이다.
이렇게 보면 C++과 C의 표준 라이브러리 차이가 보일텐데, 바로 뒤에 .h가 있냐 없냐의 차이다.
C++은 .h가 없고, C는 있다. 그런데 분명 우리는 C++을 사용하고 있지만 .h가 있는 C 표준 라이브러리도 사용하고 있는데,
이는 C에서 사용가능한 것들이 사실 C++에서도 사용이 가능하기 때문이다.
하지만 반대로 C++에서 사용하던 것들은 C에서 사용할 수 없으니 주의하자.
'C++' 카테고리의 다른 글
C++ 배우기 19(객체지향프로그래밍, class) (0) | 2022.11.15 |
---|---|
C++ 배우기 18(STL, vector) (0) | 2022.11.09 |
C++ 배우기 16(함수 오버로딩) (0) | 2022.11.02 |
C++ 배우기 15(더블 포인터, 참조형, 함수 호출 방식) (0) | 2022.11.01 |
C++ 배우기 14(동적 할당) (0) | 2022.10.31 |