(C++)4-2장 한정자의 이해
**한정자는 변수(또는 객체)앞에 선언하여 값을 변경할 수 없도록 지정하는 문법이다.
-->>const 변수(또는 객체)
예)
--->>>>>>>>>>>ex1.cpp
using namespace std;
int getSize()
{
return 200;
}
int main()
{
const int size=200;
const int buffersize=getSize();
size=200; //컴파일 오류
const int count; //컴파일 오류(한정자는 초기화 해야한다)
return 0;
}
************외부 참조 한정자:extern 키워드
위의 파일(ex1.cpp)에서 정의한 한정자를 다른 파일에서도 사용하고 싶다면 extern키워드를 붙이면 된다. 단, 헤더파일에 기술된다.
예제)
-----extern.h
extern const int bufferSize=200;
extern const char[20] domain="freelec.co.kr"
-----const2.cpp
#include<iostream>
using namespace std;
include "extern.h"
int main()
{
cout<<bufferSize<<","<<domain<<endl;
return 0;
}
*****참조자를 한정자로 지정
int main()
{
const int size=100;
const int &size2=size1;
int &size3=size; //컴파일 오류(한정자를 초깃값으로 참조자를 선언 할 때는 반드시 해당 참조자 역시 const키워드를 붙여야한다.
}
출처: 모던 C++프로그래밍 (프리렉 출판사)
-->>const 변수(또는 객체)
예)
--->>>>>>>>>>>ex1.cpp
using namespace std;
int getSize()
{
return 200;
}
int main()
{
const int size=200;
const int buffersize=getSize();
size=200; //컴파일 오류
const int count; //컴파일 오류(한정자는 초기화 해야한다)
return 0;
}
************외부 참조 한정자:extern 키워드
위의 파일(ex1.cpp)에서 정의한 한정자를 다른 파일에서도 사용하고 싶다면 extern키워드를 붙이면 된다. 단, 헤더파일에 기술된다.
예제)
-----extern.h
extern const int bufferSize=200;
extern const char[20] domain="freelec.co.kr"
-----const2.cpp
#include<iostream>
using namespace std;
include "extern.h"
int main()
{
cout<<bufferSize<<","<<domain<<endl;
return 0;
}
*****참조자를 한정자로 지정
int main()
{
const int size=100;
const int &size2=size1;
int &size3=size; //컴파일 오류(한정자를 초깃값으로 참조자를 선언 할 때는 반드시 해당 참조자 역시 const키워드를 붙여야한다.
}
출처: 모던 C++프로그래밍 (프리렉 출판사)
댓글
댓글 쓰기