[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 200

 
GetPixel() 함수를 사용하여 포인트 4,4에서 색상을 선택하면 모든 것이 매우 간단합니다. 이것은 전경의 색상이 되고 나머지는 넌센스입니다.
 

한 지표에서 나는 다음과 같은 구조를 발견했습니다.

인트알; // 전역 수준에서 선언된 변수

다음과 같은 사용자 정의 함수에서 & 기호로 동일한 변수를 만났습니다.

무효 함수 (int A, int B, int &R) {R = A*B}

왜 이것이 수행되고 어디에서 이에 대해 자세히 읽을 수 있는지 누가 알 수 있습니까?

 
AndEv :

한 지표에서 나는 다음과 같은 구조를 발견했습니다.

인트알; // 전역 수준에서 선언된 변수

다음과 같은 사용자 정의 함수에서 & 기호로 동일한 변수를 만났습니다.

무효 함수(int A, int B, int &R) {R = A*B}

왜 이것이 수행되고 어디에서 이에 대해 자세히 읽을 수 있는지 누가 알 수 있습니까?


튜토리얼 이 여기 에 있으며 Google 규칙도 있습니다!
 
Roman. :

튜토리얼 이 여기 에 있으며 Google 규칙도 있습니다!


다음과 같은 경우 어떻게 변경되는지 이해하지 못했습니다.

무효 함수(int A, int B) {R = A*B}

결국, R 변수는 전역 수준에서 선언되며 어쨌든 함수 내부에서 볼 수 있습니다. 참조로 매개변수를 전달해야 하는 경우는 언제입니까?

 
AndEv :


다음과 같은 경우 어떻게 변경되는지 이해하지 못했습니다.

무효 함수(int A, int B) {R = A*B}

결국, R 변수는 전역 수준에서 선언되며 어쨌든 함수 내부에서 볼 수 있습니다. 참조로 매개변수를 전달해야 하는 경우는 언제입니까?


여기에서 튜토리얼, 문서, google을 읽으십시오.

" 스왑 함수가 호출되면 새로운 변수 a, b가 생성되어 3, 5 값이 할당됩니다. 이 변수들은 p, q 변수와 아무런 관련이 없으며, 변경해도 값이 변경되지 않습니다 p와 q의 매개변수 전달 방식을 값으로 매개변수 전달이라고 합니다.

함수가 다른 함수에서 선언된 변수의 값을 변경하기 위해서는 전달되는 매개변수가 단지 상수 값이 아니라 변수라는 것을 지시할 필요가 있으며, 참조로 값을 전달해야 합니다. 이렇게 하려면 스왑 함수를 다음과 같이 선언해야 합니다.
무효 스왑(int & a, int & b)

변수 이름 앞의 앰퍼샌드는 이 변수가 지역 변수가 아니라 함수 호출 시 매개변수로 지정된 변수에 대한 참조임을 의미합니다. 이제 swap(p,q)가 호출될 때 변수 a와 b는 변수 p와 q의 동의어이며, 그 값을 변경하는 것은 p와 q의 값을 변경하는 것을 수반합니다. 그러나 3과 5는 상수이고 변수를 상수와 동의어로 만드는 것은 불가능하기 때문에 더 이상 스왑(3,5)의 형태로 함수를 호출할 수 없습니다
.

 
Vinin :

가능하지만 조언자를 염두에 두어야합니다.

네, 이해가 됩니다. :) 아이디어가 어떻게 작동하는지 보기 위해 일종의 전략, 테스트 버전을 시도하는 경우가 종종 있습니다. 오류는 때때로 완전히 다른 관점에서 나타납니다. 예, 빨리 요리하고 확인해야 하는 경우 낭비할 시간이 없습니다.

로그에 쓰는 내용이 파일을 로그에 복사하지 않도록 어떻게든 어리석게 종료할 수 있습니까? 그것에 대한 질문.

 
Pyro :

네, 이해가 됩니다. :) 아이디어가 어떻게 작동하는지 보기 위해 일종의 전략, 테스트 버전을 시도하는 경우가 종종 있습니다. 오류는 때때로 완전히 다른 관점에서 나타납니다. 예, 빨리 요리하고 확인해야 하는 경우 낭비할 시간이 없습니다.

로그에 쓰는 내용이 파일을 로그에 복사하지 않도록 어떻게든 어리석게 종료할 수 있습니까? 그것에 대한 질문.



오류를 처리하는 조언자를 어떻게 신뢰할 수 있습니까?
 
alsu :

그는 다른 것이 필요합니다. 키 조합을 누르면 프로그램의 내부 변수가 변경되고 표시기를 작성하기 위한 기준점이 변경된 다음 선이 다시 계산되고 다시 그려집니다.

그런데 MT가 후크를 원하지 않는 이유는 무엇입니까?


양해 해 주셔서 감사합니다!):
 
테스터에서 표시기를 실행하는 것이 더 쉬울 것입니다 ...