boolean visitDevice(in string deviceID, in nsICacheDeviceInfo deviceInfo);
내가 "의"C++ 다루고 있지만, 한 생각 나는 고개를 C++ 키워드 목록에 따라 C++ 키워드도 아니고이다 자바 키워드. 그럼 그게 무슨 뜻이고 그게 무슨 뜻이야?
boolean visitDevice(in string deviceID, in nsICacheDeviceInfo deviceInfo);
내가 "의"C++ 다루고 있지만, 한 생각 나는 고개를 C++ 키워드 목록에 따라 C++ 키워드도 아니고이다 자바 키워드. 그럼 그게 무슨 뜻이고 그게 무슨 뜻이야?
매개 변수가 입력 매개 변수임을 의미합니다. 즉, 매개 변수는 사용되지만 함수에 의해 수정되지는 않습니다.
in
매개 변수의 반대는 out
매개 변수이며 매개 변수가 수정되지만 명시 적으로 반환되지는 않습니다. out
매개 변수를 사용하는 방법을 사용한 후에는 값이 (잠재적으로) 달라질 수 있습니다.
주석에서 nos가 가리키는 것으로 연결 한 페이지는 .idl
또는 인터페이스 정의 언어 파일을 설명합니다. 나는 모질라가 사용하는 IDL에 익숙하지 않다. (당신이 더 배우고 싶다면, 당신은 can read about it here), 나는 다소 in
매개 변수가 out
매개 변수라고 말하는 객체 관리 그룹의 IDL에 익숙하다. 결과 별 호출이며 inout
매개 변수는 값 별 결과/결과입니다.
이 언어는 모질라의 인터페이스 설명 언어 (XPIDL)입니다. "에서"키워드는 여기에 설명되어 있습니다 : here
내가 본 프레임 워크/매개 변수가 입력, 출력 또는 두 가지 모두에 대한 것인지 여부를 표시하는 매크로를 정의하는 C/C++에 대한 SDK를. 나는 그것이 당신의 예에서 일어나는 일이라고 추측합니다.
예를 들어, Windows DDK는 IN
OUT
및 INOUT
(제가 기억한다면)에 이것을 수행합니다. 이 매크로를 컴파일 할 때 아무것도 정의하지 않으면 IDL 컴파일러 나 정적 분석 도구와 같은 다른 도구에 유용한 것으로 정의 될 가능성이 있습니다. 나는 최근의 DDK에서이 매크로를 여전히 사용하는지 확신 할 수 없다.
Microsoft는 매개 변수에 대해 어떤 동작이 예상되는지에 대해 아주 미세한 수준의 제어를 제공하는 SAL 매크로를 사용하여 이러한 생각을 극단적으로 취했습니다.
나는 그것이 의미 할 수도 있다고 생각했지만 구문이 나를 혼란스럽게 만들었다. 어떤 언어의 "in"키워드이거나 그들이 일종의 의사 코드 표준을 사용하여 문서를 작성한 적이 있습니까? –
이 페이지에서 볼 수 있듯이 C/C++ 파일이 아니라 .idl 파일의 설명서입니다. https://developer.mozilla.org/en/XPIDL – nos
을 참조하십시오. pl/sql은 코드에서 in 및 out 키워드를 사용합니다. –