2021. 6. 11. 19:42ㆍC++
코딩은 최대한 단순하고 직관적이게 해야한다
C++ 스택 메모리에 만들기(빠름) <-추천
Vector a;
힙 메모리에 만들기(느림)
Vector* a = new Vector();
초기화 리스트
class X
{
int A,B;
X::X():A(10),B(5) <-초기화
{}
}
생성자=>객체를 생성할때 호출
(멤버 변수의 초기화 가능)
생성자 이름=클래스 이름::클래스이름()
소멸자=>객체가 사라질때 호출
(메모리를 지우는데 사용)
소멸자 이름=클래스이름::~클래스 이름()
char* mChars;
mChars = new char[value + 1];
delete[] mChars; <- delete뒤에 []붙이기
const = 바뀌지 않는것
상수 포인터 : const int*
int형 상수를 가리키는 상수 포인터 (가리키는 위치 변경 가능/위치 안의 내용 변경 불가능)
-포인터 값 변경 가능
-포인터가 가리키는 주소의 내부 값 변경 불가능
포인터 상수 : int* const
-포인터 값 변경 불가능
-포인터가 가리키는 주소의 내부 값 변경 가능
int GetX() const; <=const 메서드 (해당 개체 안의 어느것도 변경하지 않음)
class는 struct+기능(C++에서는 class와struct가 똑같다/멤버변수의 초기화를 제외하고)
c++ = default private
c = default public
다만 C++에서 struct를 class처럼 쓰려고하면 표준이 헷갈리기 때문에 단순히 데이터만 관리하는 struct를 유지하는게 좋다.=>안전하게 표준을 지키면 memcpy(데이터 복사)에 유용-문제 발생X