본문 바로가기

Language

(12)
[C++]키워드(Keyward) 식별자 그리고 예약어 키워드(Keyward) C++은 자체적인 사용을 위한 미리 몇 가지 단어(int, float, this, void, namespace, while...)들을 사전에 예약해두었습니다 이러한 단어를 키워드라고 부르고 각각의 키워드들은 용도에 맞게 사용됩니다 식별자(identifier) 식별자는 여러 대상들을 구분하기 위해 만든 이름으로 변수, 함수, 클래스 등의 이름을 식별자라고 합니다 C++의 식별자는 몇 가지 규칙이 따릅니다 키워드는 식별자가 될 수 없습니다(ex: int int;불가능) 식별자는 대소문자, 숫자 및 문자로만 구성될 수 있습니다(특수기호, 공백 포함 불가능) 식별자는 대소문자 _문자로 시작해야 함(ex: int _1a; 불가능 int 1a불가능) 대문자와 소문자를 구별함(int abc; ..
[C++]inline 함수와 매크로 함수 inline 키워드는 함수를 호출할 때 발생하는 오버헤드를 줄이기 위해 함수가 호출되는 대신 함수가 호출되는 곳마다 함수의 코드를 복사해 넣어주는 방법입니다 오버헤드는 무언가를 처리할때 드는 추가적인 시간을 말합니다 함수 호출의 과정은 아래와같습니다 함수의 인자를 스택에 저장 함수가 리턴될 때 돌아올 주소를 스택이나 레지스터에 저장 함수의 시작 주소로 점프 함수의 코드 실행 함수에서 만들어진 지역변수, 스택에 저장된 인자 해제, 리턴 값을 레지스터에 저장 함수를 호출할 때 저장해둔 주소로 돌아감 이러한 과정 속에서 오버헤드가 발생하게 됩니다 간단한 함수도 이러한 과정을 거치기 때문에 이러한 오버헤드를 줄이기 위해 inline이라는 키워드를 사용하게 됩니다 하지만 함수 코드가 복제되기 때문에 실행파일의 크..
[C++] Virtual가상함수와 Overidding오버라이딩 오버로딩과 오버라이딩은 객체 지향 프로그램에서 서로다른 객체들에게 같은 기능에대해 같은 의미를 갖는 특징을 객체의 다형성이라고합니다 우리는 오버로딩으로 매개변수의 타입의 다형성을 오버라이딩을통해 클래스간의 다형성을 볼 수 있습니다. void Calcu(int a,int b)//초기 함수 { cout
[c#] enum 그리고 switch case enum 은 사용자 정의 자료형중 하나로 열거되어있는 값이 상수로 정의된 열거형이라 불리며, 상수값을 대표하는 이름들의 집합을 의미한다 enum은 c# java c++ 전부 비슷한 형태로쓰이니 사용방식을 잘배우도록해야한다 간단하게 예를 들어 우리가 상태를 정의할때 기본상태, 공격하는상태, 방어하는상태 죽은 상태이렇게 4가지가 있다고가정해보자 그렇다면 이4가지 상태를 정수형으로 하나하나 변수로 만들거나 배열로처리하는방법도있겠지만 상수로 정의하여 좀더 가독성이 좋은 코드를 만들 수 있다 private bool isIdle; private bool isAtk; private bool isDef; private bool isdie 이런식으로 하나하나 정의하는것보다 enum을 활용한 방식을 봐보자 각각의 상태를 ..