■ ( const char * ) 상수형 문자에 대한 포인터. 포인터가 가리키는 변수의 값을 바꿀 수 없음
#include <iostream>
int main()
{
char ch1 = 'a';
char ch2 = 'b';
const char * pch;
pch = &ch1;
std::cout << *pch << std::endl;
//*pch = 'c'; //에러 error: assignment of read-only location ‘* pch’
pch = &ch2;
std::cout << *pch << std::endl;
return 0;
}
$ constchar
a
b
■ ( char const * ) 문자에 대한 상수형 포인터. 포인터 값을 바꿀 수 없음
$charconst
a
c
■ ( const char const * ) 상수형 문자에 대한 상수형 포인터.
포인터가 가리키는 변수의 값과 포인터 값 을 바꿀 수 없음
$charconst
a
여기서 새로 발견한것! 당연한거지만!
char * const pch = 'c';
error: invalid conversion from ‘char’ to ‘char*’ [-fpermissive]
문자열이 아닌 'c' 문자 하나만 써주면! 에러가 뜬다.
문자열로 선언해주면, warning이뜬다.
char * const pch = "c";
warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
char * const pch = "c";
'Language > C++' 카테고리의 다른 글
const 클래스 멤버변수 초기화하기 (0) | 2015.03.09 |
---|---|
생성자 내에서 동적할당을 한다면?? (0) | 2015.03.09 |
c++ literal class (c++11) (0) | 2015.02.13 |
C컴파일러와 달리 C++컴파일러에서 함수 오버로딩이 가능한 이유? (0) | 2014.11.24 |
[c++] 전역함수에 대한 friend선언 (0) | 2014.06.20 |