반응형
본문 바로가기

지식창고

(35)/h
(C++)new와 delete란? c++에도 메모리를 할당 및 해제를 해줄 수 있는 키워드가 존재합니다. new 키워드가 동적 메모리를 할당 하는 키워드이며, delete 키워드가 new로 할당한 동적 메모리를 할당해주는 키워드 입니다. 이번에는 크게 예제를 가지고 오지 않아도 될 것 같아 간단하게 어떻게 할당하고 해제하는지에 관해서 간단하게 작성해 두도록 하겠습니다- new 의미 : 동적 메모리를 할당하는 것. 사용방법 int형 변수 할당 : int *p1 = new int; double형 변수 할당 : double *p2 = new double; 길이가 3인 int형 배열 할당 : int *arr1 = new int[3]; 길이가 3인 double형 배열 할당 : double *arr2 = new double[3]; char형 포인터..
(C++)const static 키워드란? 의미 : 클래스에서는 알다시피 맴버 변수에 초기화가 직접적으로는 불가능 하지만, 예를 들어 각 나라마다의 인구수나, 땅의 면적 등을 지정할 때 C나 C++에서 자주 사용하였던 const라는 키워드를 통하여 상수화하여 값을 변경되는 것을 막아줄 수 있었습니다. 이와 같이 C++의 클래스의 맴버 변수에 const static을 사용하게 되면, 따로 이니셜라이저를 통하지 않아도 맴버변수를 선언과 동시에 초기화가 가능하게끔 할 수 있다는 것 입니다. 사용방법은 역시나 간단한 예제를 통해보죠~ #include using namespace std; class Test { public: const static int k_population = 5000; const static int c_population = 64;..
(C++)friend키워드란? 의미 : A와 B라는 클래스가 있다고 가정을 하면, 서로 클래스 내부(클래스 내에서 정의된 함수)에서만 접근허용을 하게 하는 private 영역에도 접근을 가능 할 수 있게 해주는 역할을 하게 됩니다. 사용방법은 역시나 예제를 간단히 들고 왔습니다- 함수의 friend 선언. #include using namespace std; class Test { private: int num; public: Test() { num = 5; } void ShowData() const { cout
(C++)mutable 키워드란? 의미 : 상수함수에서 값을 입력 받기 위하여 예외적으로 값을 받아오라는 뜻 입니다. 어떻게 사용하냐구요? 당연히 간단한 예제 들고 왔습니다~ #include using namespace std; class Test { private: mutable int x; //mutable 키워드를 통하여Ï 상수화 된 변수를 바꾸지 못하게 하는 //제한을 예외적으로 해제 해줌. int y; public: void SetData(int a, int b) const { x = a; //x는 mutable로 선언되어 있으므로 가능. y = b; //y는 일반 변수로 선언 되어있기 때문에 아래와 같은 에러가 발생 //error C3490: 'y'은¨(는) const 개체를 통해 액세스되고 있으므로 //수정할 수 없습니다. ..
(C++)explicit 키워드란? 의미 : 묵시적인 타입 변환을 하지 않고 명시적으로 타입 변환을 하였을 경우에만 사용하겠다는 뜻 입니다. 예제를 간단하게 작성해보았습니다~ 사용 방법 #include using namespace std; class SoSimple { private: int num1; int num2; public: SoSimple(int n1, int n2) :num1(n1), num2(n2) { } SoSimple(SoSimple &copy) :num1(copy.num1), num2(copy.num2) { cout
(C++)c++의 함수오버로딩이란? 함수오버로딩은 똑 같은 이름을 가진 함수를 여러 개를 만든다는 것 입니다. 즉 test()함수가 존재하는데 또 하나 test(int n1)과 같이 test라는 이름을 가진 함수를 여러 개를 만들어 준다고 보시면 되겠습니다. 단, 함수오버로딩은 함수의 이름 뿐이 아닌 매개 변수의 정보까지 참조하게 되며, 이 함수오버로딩은 c에서는 안되고, c++에서 지원해주는 편리한 기능이라는 점 명심해두세요-. 단, 함수의 이름만 같다고 해서 조건이 충족되는 것이 아닌 바로 함수의 자료형이 같은지도 보며, 자료형이 같고 함수이름이 같지만 받아 들이는 매개 변수의 정보에 따라 정보가 처리된다는 점입니다. 여기서도 뭐다? 백마디의 말보다 행동이다- 그렇기 때문에 간단한 예를 들어 코드를 작성하여 보겠습니다. //함수 오버로..
(C, C++)c, c++에서 참조자란? 변수에 별명을 붙여주는 것을 참조자라 하는데, 더 쉽게 표현을 해보자면 일상생활을 할 때 사람마다 각자 친구나 주변사람들에 의해 별명으로 불리는 경우가 있습니다. 바로 이와 같다고 생각을 하면 된다. (더 무슨 말인지 모르게 되셨나요? ㅜㅜ...) 즉, A라는 사람이 평소에 느리적느리적 행동을 한다 하여 주변사람들이 그 A라는 사람에게 ‘거북이’라는 별명을 붙여주게 되었고, A라는 사람도 자신이 아는 사람들이 ‘거북아!’라고 불러도 대답한다는 점에서 같다고 설명을 할 수 있겠습니다. 역시 말로 설명하는 것보다 소스를 통하여 설명하여 보겠습니다. #include using namespace std; int main(void) { int num1 = 1; int &num2 = num1; //참조자의 표시는 ..
(C)namespace키워드의 사용방법과 의미 의미 : 일명 ‘이름공간의 별칭을 지정한다’ 라고도 말하지만, 쉽게 친한 사람끼리 별명을 불러 생활하듯이 코딩에서도 별명을 주어 쉽게 불러올 수 있게 하겠다는 것으로 이해하는 것이 편하지 않을까 합니다. 사용방법 #include using namespace std; namespace Test { int num1; int num2; namespace Test2 { int num3; int num4; } } int main(void) { Test::num1 = 10; //범위(영역)지정연산자 :: 를 사용하여 위치를 알려줌. Test::num2 = 20; cout

반응형