Daum 어학사전으로 모르는 단어와 문장을 손쉽게 찾아보세요.
PC웹, 모바일, 태블릿 PC에서 편리하게 사용하실 수 있습니다.

Daum 단어장 바로가기 Daum 단어장 메뉴 바로가기 Daum 단어장 내용 바로가기

단어장

c++

(탈퇴한사용자, 41개, 2012.11.23최종수정)

단어 목록

발음듣기 |
선택내용 : 최신순 선택옵션

1. 개념 : 인자의 갯수나 타입이 다르다면 동일 이름의 함수를 2개 이상 만들수 있다. 2. 장점 : 일관된 형태의 라이브러리를 구축할수 있다. 3. 원리 : 컴파일 시간에 함수 이름을 변경하는 것 - name mangling. 함수 오버로딩은 컴파일 시간 문법이다. => 실행시 성능에는 영향을 주지 않는다.

1. 개념 : 인자의 갯수나 타입이 다르다면 동일 이름의 함수를 2개 이상 만들수 있다. 2. 장점 : 일관된 형태의 라이브러리를 구축할수 있다. 3. 원리 : 컴파일 시간에 함수 이름을 변경하는 것 - name mangling. 함수 오버로딩은 컴파일 시간 문법이다. => 실행시 성능에는 영향을 주지 않는다.

객체의 상수성 제거한다. const int c = 0; int* p2 = const_cast<int*>(&c); // ok.. 동일타입에 상수속성 제거.

객체의 상수성 제거한다. const int c = 0; int* p2 = const_cast<int*>(&c); // ok.. 동일타입에 상수속성 제거.

메모리의 재해석, 거의 성공한다. double* p = reinterpret_cast<double*>(&n);

메모리의 재해석, 거의 성공한다. double* p = reinterpret_cast<double*>(&n);

관련있는 타입의 이성적인것만 가능하다. int n = static_cast<int>(d); 그런데 서로 관련 없는 타입의 포인터는 변환은 안된다. double* p = static_cast<double*>(&n);

관련있는 타입의 이성적인것만 가능하다. int n = static_cast<int>(d); 그런데 서로 관련 없는 타입의 포인터는 변환은 안된다. double* p = static_cast<double*>(&n);

1) 표준 타입끼리는 암시적 형변환이 된다. double d = 3.4; int n = d; 2) 포인터의 변환은 암시적 형변환이 안된다. 그런데 명시적 변환은 가능하다. 명시적 변환은 천하무적!! double* p = (double*)&n;

1) 표준 타입끼리는 암시적 형변환이 된다. double d = 3.4; int n = d; 2) 포인터의 변환은 암시적 형변환이 안된다. 그런데 명시적 변환은 가능하다. 명시적 변환은 천하무적!! double* p = (double*)&n;

1) built in type: call by value가 좋다. (void foo(int)) 2) user define type: const T&가 좋다. (void foo(const Data&)) // user define type을 call by value로 넘기면 메모리 사용량이 2배가 된다. const T&를 사용하면 call by reference 형태이지만 const를 key word로 변경을 막아버린다.

1) built in type: call by value가 좋다. (void foo(int)) 2) user define type: const T&가 좋다. (void foo(const Data&)) // user define type을 call by value로 넘기면 메모리 사용량이 2배가 된다. const T&를 사용하면 call by reference 형태이지만 const를 key word로 변경을 막아버린다.

1) built in type (int& foo()) - 함수 호출을 왼쪽에 놓고 싶다. foo() = 10; vector등을 만들때 v[0] = 10; // v.operator[](0) = 10. 2) user define type (Point& foo()) : 임시 객체를 막고 싶다. 임시객체를 리턴하는 것은 메모리에 임시 객체를 생성해서 원래의 객체의 복사본을 만드는 것인데 이런 처리를 안하겠다는 의미이다.

1) built in type (int& foo()) - 함수 호출을 왼쪽에 놓고 싶다. foo() = 10; vector등을 만들때 v[0] = 10; // v.operator[](0) = 10. 2) user define type (Point& foo()) : 임시 객체를 막고 싶다. 임시객체를 리턴하는 것은 메모리에 임시 객체를 생성해서 원래의 객체의 복사본을 만드는 것인데 이런 처리를 안하겠다는 의미이다.

1) built in type (int foo()) - 상수가 리턴된다. 2) user define type (Point foo()) - 임시객체를 리턴하고 임시객체는 바로 사라진다. 그런데 reference를 이용하면 임시객체의 생성없이 별명만 리턴된다.

1) built in type (int foo()) - 상수가 리턴된다. 2) user define type (Point foo()) - 임시객체를 리턴하고 임시객체는 바로 사라진다. 그런데 reference를 이용하면 임시객체의 생성없이 별명만 리턴된다.

1) 참조의 포인터는 만들 수 없다. int& r = n; int&* pr = &r; //에러. 2) 함수의 별명도 가능하다. int(&r3)() = main; 3) 상수에 대한 별명은 안된다. int& r3 = 10; //에러. 4) 상수 참조 문법이 따로 있다. int&& r5 = 10; // rvalue reference라고 한다.

1) 참조의 포인터는 만들 수 없다. int& r = n; int&* pr = &r; //에러. 2) 함수의 별명도 가능하다. int(&r3)() = main; 3) 상수에 대한 별명은 안된다. int& r3 = 10; //에러. 4) 상수 참조 문법이 따로 있다. int&& r5 = 10; // rvalue reference라고 한다.
ESP

Extended Stack Pointer, There are two CPU registers that are important for the functioning of the stack which hold information that is necessary when calling data residing in the memory.

Extended Stack Pointer, There are two CPU registers that are important for the functioning of the stack which hold information that is necessary when calling data residing in the memory.
이전페이지 없음 1 2 3 4 5 다음페이지 없음