2010-08-24 7 views
3

어떻게 다음 선언을 const로 먼저 표현할 수 있습니까 (typedef없이)? C++ const 참조 선언

double* const (&data)[6] 
// ?? const double* (&data)[6] // incorrect, elements, not reference, are const 

+0

const 참조라고하는 것은 없습니다. 그것은 항상 const에 대한 참조입니다. 대부분 사람들은 – Chubsdad

+0

을 참조합니다. 별 뒤에 'const'를 넣는 것은 포인터가 가리키는 것보다 'const'가되도록 만드는 것입니다. 먼저 그것을 넣을 수없고 그것이 의미하는 바가 무엇을 의미 하는지를 알 수 없습니다. 즉, 나는 선언이 단지 명백한 오류라고 매우 강하게 의심한다. 가변 double에 대한 const 포인터에 대한 참조 배열? 그게 니가 원하는거야? – zwol

+0

@Zack 상수가 아닌 const 포인터 참조, 예 – Anycorn

답변

1

당신은 그것을 할 수 없습니다 감사합니다. 이력서-한정어 형식 정의 (7.1.3)를 사용하여 도입 할 때

CV-정규화 참조 일리노이 형성 제외하거나 다음 C++ 표준 8.3.2/1 항

템플릿 유형 인수 (14.3)의 경우 cv 한정자는 무시됩니다.

+1

"Cv-qualified references"- 샘플 라인이 있습니다. 코드 및 다른 코드의 주석 처리 된 샘플 행을 포함 할 수 있으며 어느 것도 cv 한정 참조를 만들려고하지 않습니다. 물론 답의 첫 줄은 정확하지만, 왜 다른 내용을 따라 갔는지 확실하지 않습니다. –

+0

나는 그가 const qualified reference를 얻으려고하는 질문에서 알 수 있듯이. –

+0

아, 코드의 주석 처리 된 행 안에 다른 주석이 표시됩니다. 당신 말이 맞아요, 표준에서 인용 한 부분이 그 부분에 대답합니다. 어쨌든 코드의 유효 라인과 주석 처리 된 코드 줄의 코드에서 나는 원하는 것을 이해하지 못했습니다. –