C의 클래스 이니셜라이저에서 Const 배열 초기화
C에서 클래스의 이니셜라이저 목록에서 const 배열을 초기화하는 것은 다음과 같이 보일 수 있습니다. 기능 내 수정에 대한 const 키워드의 제한으로 인한 문제와 같습니다. 하지만 이 작업은 C 11의 도입으로 가능해졌습니다.
이전에는 생성자 본문에서 const 배열을 초기화하는 것이 불가능했습니다. 제공된 예제 코드에서와 같이 그렇게 하려고 하면 오류가 발생했습니다. 초기화 후에는 const 변수를 수정할 수 없기 때문입니다.
그러나 C 11에서는 생성자의 초기화 목록 내에서 배열을 초기화하는 솔루션이 등장했습니다. 이 접근 방식을 사용하면 배열의 요소를 직접 지정할 수 있습니다.
<code class="cpp">struct a { const int b[2]; // other stuff follows // Here's the constructor a() : b{2, 3} { // other constructor work } };</code>
이 예에서 배열 b는 {2, 3} 요소로 초기화됩니다. 이러한 초기화를 통해 객체의 수명 내내 b 값이 일정하게 유지됩니다.
a 클래스의 인스턴스마다 b 값이 다를 수 있다는 점에 유의하는 것이 중요합니다. 그러나 생성자가 실행되면 특정 인스턴스의 값은 일정하게 유지됩니다. 이 동작은 객체의 수명 동안 수정될 수 있는 비 const 배열과 이러한 배열을 구별하는 것입니다.
위 내용은 C의 클래스 초기화 프로그램에서 Const 배열을 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!