[C++] new연산자
·
C++/Basic
float * ss = new float[20]; float가 4바이트므로 80바이트의 메모리가 new에 의해서 대입되고 delete로 해제될 때가지 메모리에 유지된다. int *pi = new int(6); *pi를 6으로 초기화 //struct struct where { double x; double y; double z; }; where *idds = new where {2.2, 34.5, 2.3}; //int int *ar = new [4] {2, 3, 4, 23}; int *oi = new(40 * sizeof(int)); 이런식의 초기화도 가능하다. int *xi = new int; delete xi; xi = new int [32]; delete [] xi; 꼭 사용 후에 delete를 이용..
[C++] static과 외부변수 선언
·
C++/Basic
//test.cpp int num1; //Main.cpp int num1; int main() { } 위와 같이 전역변수로 같은 변수를 선언하게 되면 오류가 난다. 단일 변수를 정의해야하는 규칙에 위배되기 때문이다. //test.cpp int num1; //Main.cpp static int num1; int main() { } - 전역 변수 구역에 static을 쓰게 되면 현재 cpp에서만 쓰는 내부 링크를 가진 정적변수로 취급한다. - 프로그램이 시작할 때 static 변수는 한 번만 초기화한다. //Main.cpp const int num1 = 3; int main() { } - const는 내부 링크를 가진다. 외부 링크를 갖기위해서는 extern을 사용한다. - extern을 사용할 시에는 다른..
[C++] mutable 사용법
·
C++/Basic
struct data { char name[20]; mutable int accesses; }; const data test = {"ssssddddwww", 2}; test.accesses = 123; mutable을 사용한 것에는 const를 쓴 데이터형에서도 값을 바꿀 수 있다.
[C++] extern의 사용법
·
C++/Basic
//test1.cpp int num2 = 2; //Main.cpp extern int num2; int main() { cout
[C++] decltype에 대하여
·
C++/Basic
int x = 2; decltype (x) y = 3;//여기서 y는 int가 된다. cout decltype (x + y) { return x + y; } int main() { cout
[C++] template 사용법
·
C++/Basic
template void Swap(T& a, T& b); int main() { int x = 0; int y = 2; Swap(x, y); cout