2006년 11월 09일
[C++]0. 용어설명
declaration(선언)
- 코드에 사용되는 어떤 대상의 이름과 타입을 컴파일러에게 알려주는 것
- 구체적인 세부사항은 들어 있지 않음
signature(시그너처)
- 함수의 매개변수 리스트와 반환 타입
definition(정의)
- 선언에서 빠진 구체적인 세부사항을 컴파일러에게 제공
initialization(초기화)
- 어떤 객체에 최초의 값을 부여하는 과정
- 사용자 정의 타입으로 생성한 객체의 경우 생성자에 의해 이루어짐
default constructor(기본 생성자)
- 어떤 인자도 주어지지 않은 채로 호출될 수 있는 생성자
copy constructor(복사 생성자)
- 어떤 객체의 초기화를 위해 같은 타입의 객체로부터 초기화할때 호출되는 함수
copy assignment constructor(복사 대입 연산자)
- 같은 타입의 다른 객체에 어떤 객체의 값을 복사하는 용도
- 코드에 사용되는 어떤 대상의 이름과 타입을 컴파일러에게 알려주는 것
- 구체적인 세부사항은 들어 있지 않음
extern int x; //객체 선언
std::size_t numDigits(int number); // 함수 선언
class Widget; // 클래스 선언
template<typename T>
class GraphNode; // 템플릿 선언
signature(시그너처)
- 함수의 매개변수 리스트와 반환 타입
위의 numDigit 함수의 Signature는 std::size_t(int).
definition(정의)
- 선언에서 빠진 구체적인 세부사항을 컴파일러에게 제공
initialization(초기화)
- 어떤 객체에 최초의 값을 부여하는 과정
- 사용자 정의 타입으로 생성한 객체의 경우 생성자에 의해 이루어짐
default constructor(기본 생성자)
- 어떤 인자도 주어지지 않은 채로 호출될 수 있는 생성자
copy constructor(복사 생성자)
- 어떤 객체의 초기화를 위해 같은 타입의 객체로부터 초기화할때 호출되는 함수
copy assignment constructor(복사 대입 연산자)
- 같은 타입의 다른 객체에 어떤 객체의 값을 복사하는 용도
class Widget {
public:
Widget(); //기본 생성자
Widget(const Widget& rhs);//복사 생성자
Widget& operator(const Widget& rhs);//복사 대입 연산자
...
}
Widget w1; //기본 생성자 호출
Widget w2(w1); // 복사 생성자 호출
w1 = w2; //복사 대입 연산자 호출
Standard Template Library(STL)
- 말그대로 표준 템플릿 라이브러리
function object(함수 객체)
- 함수처럼 동작하는 C++ 객체
- 함수 호출 연산자인 operator()를 오버로드한 클래스로 만듬
undefined behavior(미정의된 동작)
- 동작 자체가 정의되어 있지 않음
- 실행 시간에 어떤 현상이 터질지 예측할 수 없음int *p = 0; // p is null pointer
std::cout << *p; // 널 포인터를 역참조하면 미정의 동작발생
char name[] = "Darla"; //name은 크기가 6인 배열
char c = name[10]; // 유효하지 않은 배열 index로 참조하려
하면 미정의 동작 발생
interface(인터페이스)
- 함수의 시그너처, 혹은 어떤 클래스의 접근 가능 요소, 템플릿의 타입 매개변수로서 유효해야 하는 표현식
client(사용자)
- 코드를 사용하는 아무개 혹은 아무것.
# by | 2006/11/09 00:58 | Effective C++ | 트랙백




