반응형

const 3

const 키워드에 대한 이해(c++)

const의 기본적 내용은 아래 글을 참조하시기 바랍니다. 2014/01/14 - [프로그래밍/C언어] - 상수포인터, 포인터상수, const c언어에서의 const를 확장하여 c++의 클래스 내부에서 사용되어지는 예를 살펴보겠습니다. 예1) 멤버변수를 const로 선언한 경우 위 코드를 컴파일해보면 두 개의 에러가 생긴다. 첫 번째는 초기화 되지 않은 멤버 Mango::m라고 하고, 두 번째는 Mango::m의 값이 읽기전용이기 때문에 값을 넣을 수 없다는 에러다. 초기화를 시켜야 하지만 생성자에서 초기화를 할 수 없다고 유추해 볼 수 있다. const멤버의 초기화 이 방법은 멤버 이니셜 라이져를 이용한 전통적인 방법이다. c++11에서는 다음과 같은 방법도 제공한다. 다음 방법은 c++11에서만 가능..

프로그래밍/cpp 2015.04.07

상수포인터, 포인터상수, const

상수포인터와 포인터상수의 차이 포인터와 배열을 배우다 보면 상수포인터와 포인터상수라는 용어를 많이 듣게 됩니다. 단어만 생각하면 순서만 바뀐 용어인데 뜻은 어떤지 알아볼까합니다. /* 2014 9/19 추가부분 영어로 관련표현은 constant pointer - 포인터의 값이 상수인 포인터 pointer to constant - 상수를 가리키는 포인터 constant pointer to constant -상수를 가리키는 constant pointer 3가지입니다. 제가 여러책을 본 결과 한국어 번역으로 ,포인터상수와, 상수포인터는 번역상의 차이지 결국은 같은 의미로 혼용되고 있다고 생각이듭니다.어떤 책에서는 배열변수명이 포인터 상수라고하고 어떤 책에서는 상수포인터라고합니다. 어떤 책에서는 이에 대한 언급..

deprecated conversion from string constant to 'char*'

deprecated conversion from string constant to 'char*' 은 에러가 아닌 경고지만, 해결하지 않는다면, 나중에 문제가 될 소지가 있습니다. 이 경고는 컴파일러를 최신으로 바꾼 후 뜰 수가 있습니다. 그러면 우선 경고를 만들어보겠습니다. 기존엔 이런 표현으로 쓰곤 했습니다. 문제가 있는 표현이지만, 컴파일상에서 에러가 나지 않았었습니다. 형식이 바뀌었습니다. 위 같은 표현으로 쓰기위해선 다음과 같이 써야합니다. 아래는 같은 표현입니다.(기존에 쓰던 방법) const char *c 라는 표현자체가 문자상수라는 표현인데, 확실히const를 명시하는 표현이 정확하다고 생각드네요. 표현은 확실해졌네요. 아니면 string 클래스를 사용해서 객체를 생성하여 사용하는 방법이 있..

반응형