오류, 버그, 질문 - 페이지 1926

 
fxsaber :

, 향후 읽기 전용 작업만 있을 경우.

컴파일러는 미래에 어떤 작업이 수행될지 알지 못합니다. 그렇지 않으면 컴파일 시간이 몇 분이 아니라 몇 시간이 됩니다.
 
A100 :
컴파일러는 미래에 어떤 작업이 수행될지 알지 못합니다. 그렇지 않으면 컴파일 시간이 몇 분이 아니라 몇 시간이 됩니다.
 void OnStart ()
{
   int a; // variable 'a' not used
}
 
fxsaber :

컴파일러는 추가 작업을 분석하지 않고 나중에 초기화될 수 있기 때문에 첫 번째 줄에 도달했습니다(경고가 표시됨). 그리고 만약

 const int a;

그러면 나중에 초기화할 수 없기 때문에 오류가 발생합니다(컴파일러는 추가 작업을 분석하지 않고 예를 들어 향후에 전혀 사용되지 않는다는 것을 알지 못합니다).

모든 것이 논리적이며 주관적인 선호도에 의존하지 않습니다.

 
A100 :

컴파일러는 추가 작업을 분석하지 않고 나중에 초기화될 수 있기 때문에 첫 번째 줄에 도달했습니다(경고가 표시됨). 그리고 만약

그러면 나중에 초기화할 수 없기 때문에 오류가 발생합니다(컴파일러는 추가 작업을 분석하지 않고 예를 들어 향후에 전혀 사용되지 않는다는 것을 알지 못합니다).

모든 것이 논리적이며 주관적인 선호도에 의존하지 않습니다.

가비지 const 변수를 사용할 수 없는 이유는 비논리적입니다.

 
fxsaber :

가비지 const 변수를 사용할 수 없는 이유는 비논리적입니다.

그러한 사용의 예를 들어라

         const int a;
조건부로 다음과 같이 쓸 수 있습니다.
         int i;
         const int a = i;
         Print ( a ) //случайное число... и что дальше?
 
A100 :

그러한 용법의 예를 들어라

참조로 함수에 전달하고 값을 가져옵니다.
 
Комбинатор :
참조로 함수에 전달하고 값을 가져옵니다.
코드에서 어떻게 보이나요?
 
A100 :
코드에서 어떻게 보이나요?
 void f( int & i)
{
   i = 5 ;
}

{
   int i;
   f(i);
}
 
Комбинатор :
const는 어디에 있습니까? (아니면 마지막 페이지를 읽지 않았습니까?)
 

사실, 나는 어떤 형태로든 초기화되지 않은 변수에 반대하고 컴파일러 수준에서 금지하기 위해 단지 예를 들었습니다.

A100 :
const는 어디에 있습니까? (아니면 마지막 페이지를 읽지 않았습니까?)
읽기, 그것은 부주의하게 밝혀졌습니다.