Database_entry_attribute
--void* malloc(size_t _Size);-- int* pA = 0; pA = (int*)malloc(sizeof(int));=> pA에 int의 size 만큼 동적 할당. pA = (int*)malloc(sizeof(int)*n);=> pA에 int의 size만큼 n개 동적 할당. ( pA[n] ) --new-- int* A = 0; pA = new int;=> pA에 int의 size만큼 동적 할당. pA = new int[n];=> pA에 int의 size만큼 n개 동적 할당. ( pA[n] ) int** pA; pA = new int*;=> pA[0];pA[0] = new int;=> pA[0][0]; pA = new int*[n];=> pA[n];pA[n] = new int[i];=>..
정적 멤버변수 & 정적 멤버함수-> 동일한 클래스로부터 생성되는 객체에 의해 공유되는 변수: Color 클레스의 정적 멤버변수 A를, Color 클레스로 생성된 모든 객체에서 공유하여 사용.-> static 키워드를 이용하여 지정-> 객체의 생성 없이도 사용 가능-> static 멤버변수가 별도의 static 영역에 저장되기 때문 정적 멤버변수 class Color { private: static int s_count; }; int Color::s_count = 0; int main() { // main 프로그램 영역 } -> 객체가 만들어질 때 생성되는 것이 아님.=> 프로그램 내부의 적절한 위치에서 위와같이 전역 변수와 동일한 방법으로 초기화.-> 생성 및 사용 시 범위 연산자 ::(Scope Res..
객체 포인터-> 1. 파생 클래스의 객체를 가리키는 기본 클래스의 객체 포인터를 사용할 수 있음.-> 2. 기본 클래스의 객체를 가리키는 파생 클래스의 객체 포인터는 사용할 수 없음. class Animal { public: void breathe(); }; class Fish : public Animal { public: void breathe(); }; Animal* a = new Fish; // 1. 가능 Fish* f = new Animal; // 2. 불가능 -> 3. a->breathe();를 호출하면, class Animal(기본클래스)의 breathe() 함수가 호출 됨. 가상 함수(virtual function)-> 상속 관계에 있는 클래스를 객체 포인터 형태로 사용할 때 의미가 있음.-..
함수 템플릿(Function Template) : 범용 형을 다룰 수 있는 함수의 정의를 의미- 매개변수의 자료형을 지정할 필요가 없음.- 함수 템플릿은 반환형이나 인자의 자료형은 다양하지만, 알고리즘은 동일한 함수를 만들 때 유용 template T Add(T a, T b) { // 인자 a, b 를 이용한 로직 구현 } void main(){ int i = 100; int j = 200; double k = 3.14; double l = 1.58; long m = 7000; long n = 8000; using namespace std; cout
1. 매크로 함수 : #define 문으로 정의하는 함수로 컴파일 전 단게에서 함수의 호출 부분을 함수의 내용으로 대치하여 실행되는 함수.- 함수의 호출 없이 호출 위치에 직접 코드 기술.- 호출에 따르는 오버헤드가 없어 프로그램 수행속도를 높일 수 있음.- 매크로 함수는 형검사가 어렵고(함수 매개변수로 들어가는 값의 형), 정의환 문장 그대로 대치되기 때문에 사용에 주의해야 함. #define SQUARE(n) ((n) * (n))........printf("SQUARE(2) = %d\n", SQUARE(2)); ----------------------------------------호출한 형태 그대로 대치되기 때문에 다른 값이 계산되어 출력#define ABSOLUTE(n) (n < 0 ? -n : ..
1. 자동(auto) 변수 2. 레지스터(register) 변수 : CPU 내에 존재하는 메모리에 직접 변수를 생성함. (= 처리속도 빠르게 할 목적) 3. 정적(static) 지역 변수 4. 정적(static) 전역 변수 5. 외부 변수(extern) : 별도로 메모리에 생성되지 않으며, 프로그램이 수행되는 동안 유효 / static변수 사용x 6. 정적(static) 함수 : 통용 범위가 파일 내부로 한정. 즉, 다른 C++파일에서 사용 불가