C++ 문법 25

FVector::DotProduct 과 FVector::Dot 의 차이

Unreal Engine의 FVector 클래스에서 DotProduct과 Dot은 기본적으로 동일한 기능을 수행하지만, 몇 가지 차이가 있다. 1. 호출법 DotProduct : FVector 클래스의 정적 함수이며, 두 개의 FVector 객체를 인수로 취한다. Dot : FVector 객체의 멤버 함수이며, 다른 FVector 객체와의 내적을 계산한다. 2. 사용성 DotProduct은 외부에서 사용되는 함수이므로 FVector::를 사용하여 직접 호출된다. Dot은 FVector 객체의 메서드로서 특정 FVector 객체에 대해 호출된다. 예시 FVector Vec1(1.0f, 2.0f, 3.0f); FVector Vec2(4.0f, 5.0f, 6.0f); float DotProductResult ..

C++ 문법 2024.02.28

string 의 substr 함수

https://modoocode.com/235 C++ 레퍼런스 - string 의 substr 함수 모두의 코드 C++ 레퍼런스 - string 의 substr 함수 작성일 : 2020-07-17 이 글은 160393 번 읽혔습니다. 문자열의 일부를 리턴한다. 문자열의 pos 번째 문자 부터 count 길이 만큼의 문자열을 리턴한다. 만약 modoocode.com 예시 코드 #include #include int main() { std::string a = "0123456789abcdefghij"; // count 가 npos 이므로 pos 부터 문자열 끝까지 리턴한다. std::string sub1 = a.substr(10); std::cout

C++ 문법 2024.01.04

C++ BigInteger 구현

https://blog.naver.com/tybnasgo/223006793286 BigInt 프로젝트 후기 - 프로젝트 배경 제가 하는 알고리즘 스터디에서 누군가 매우 큰 정수의 사칙연산에 관해 질문을 했었습니... blog.naver.com #include #include #include using namespace std; //큰 수 클래스 class bigInt { private: string number;//숫자 public: bigInt(string n = "");//생성자 inline int max(int a, int b);//min void Show() const;//결과 bool operator(const bigInt& num);//> bigInt operator+(const bigInt&..

C++ 문법 2024.01.04

디자인 패턴, 정적 변수(static)

디자인 패턴 디자인패턴 : 클래스를 이용해서 구조를 설계할 때 자주 사용하는 방식을 일종의 패턴화 하여 만들어놓은 클래스 설계 패턴이다. 종류 : Builder 패턴, Abstract Factory 패턴, Factory method 패턴, prototype 패턴, Singleton 패턴 등등 ​ 싱글톤패턴 : 파일 실행시 특정 클래스가 한번만 메로리를 할당하고 메모리에 인스턴스를 만들고 사용하는 디자인 패턴이다. 아래는 싱글톤 패턴을 메크로화 시킨 것이다. 생성자와 소멸자를 private으로 지정한다면 객체를 생성할때 생성자가 자동으로 호출이 되는데 private이기 때문에 이 클래스의 외부에서는 객체 생성이 허용이 안된다. 소멸자도 마찬가지로 private이기 때문에 이 객체 외부에서 제거하려한다면 호..

C++ 문법 2022.04.15

생성자와 소멸자, 헤더 파일, cpp 파일

생성자와 소멸자 생성자와 소멸자 : 클래스에 구현되는 함수이다. 생성자 : 이 클래스를 이용해서 객채를 생성할 때, 자동으로 호출이 되는 함수이다. 클래스에 따로 없을 경우, 기본 생성자가 호출이 된다. 객체가 생성될 때 호출되기 때문에 초기화 작업을 할 때 유용하다. 소멸자 : 이 클래스를 이용해서 생성된 객체가 메모리에서 해제될 때, 자동으로 호출이 되는 함수이다. 지역변수로 선언된 변수라면 해당 코드블록이 종료될 때 호출되고, 동적할당된 변수라면 delete를 통해서 메모리에서 제거될 때 호출이 된다. 객체의 마무리 작업을 해줄 때 유용하게 사용할 수 있다. 헤더 파일 Crtl+Shift+A를 누른뒤 헤더를 클릭하고 이름을 지어주고 확인을 누르면 생성된다. 클래스버튼을 누르면 cpp파일과 h파일이 ..

C++ 문법 2022.04.15

클래스

클래스 클래스 : 구조체처럼 여러 변수를 모아두고 하나로 묶어서 사용할 수 있는 기능을 제공한다. 클래스에서는 필요한 함수들도 구현하여 멤버로 둘 수 있다. C++에서는 객체를 만들기 위한 수단으로 클래스를 제공한다. 구조체는 예전 C 버전에서는 변수만 모아두고 함수를 모아둘 수 없었다. 하지만, C++ 에서는 클래스와 마찬가지로 함수도 모아두고 사용할 수 있다. 단, 기본적인 차이점은 멤버에 접근할 때 기본적인 접근 방식에서의 차이가 있다. 구조체는 기본적으로 public으로 되어 있다. 클래스는 기본적으로 private으로 되어 있다. 객체 : C++에서 객체는 모든 변수를 객체라고 부를 수 있다. 보통 객체라고 하면 클래스를 이용해서 만들어 준 변수를 의미하는 경우가 많다. 객체지향 프로그래밍 : ..

C++ 문법 2022.04.15

파일 관련 함수 2 (fwrite, fseek, ftell, fread)

파일 관련 함수 2 fopen_s(&File, "Test.tmo", "wb") fopen_s 의 세번째 인자의 두번째 글자에 b를 넣으면 바이너리 파일을 만들 수 있다. tmo 파일의 확장자를 가진 바이너리 파일이 생성된다. fwrite 함수는 생성한 파일에 변수의 데이터, 배열, 구조체의 데이터를 넣을 수 있다. fread 함수를 사용하면 데이터를 가져올 수 있다. 1번 인자 : 읽어오고자 하는 메모리 주소 2번 인자 : 읽어오고자 하는 데이터의 타입 크기 3번 인자 : 읽어오고자 하는 데이터 개수 4번 인자 : 대상 파일 fseek 는 파일 커서의 위치를 원하는 위치로 변경해주는 함수이다. 1번 인자 : 대상 파일 2번 인자 : offset으로 3번인자에 지정된 지점으로부터 몇 바이트만큼 떨어진 곳을..

C++ 문법 2022.04.15

assert 함수, 파일 관련 함수 (fopen, fputc, fputs, fclose, fgets, feof)

assert assert함수는 ()이 0이외의 값, 즉 거짓이면 에러를 고의적으로 발생시키는 함수다. 결과를 반환타입을 정해서 return 을 이용하여 반환하는 형태를 Call By Value 라고 한다. 포인터를 이용해서 결과를 반환하는 형태를 Call By Address 라고 한다. 레퍼런스를 이용해서 결과를 반환하는 형태를 Call By Reference 라고 한다. 파일 관련 함수 1번째 인자 : 2중포인터 2번째 인자 : 파일의 경로 (상대경로, 절대경로) 3번째 인자 : Mode가 들어간다. 절대경로는 C:\abcd\eee 이런 식으로 전체 경로를 의미하고, 상대 경로는 현재 폴더로부터의 경로를 의미한다. 여기 코드에서 상대경로를 사용하면 프로젝트 파일이 있는 폴더에 파일이 만들어지게 된다. ..

C++ 문법 2022.04.15

문자열 관련 함수 2 (strcmp, memset,mcmcpy)

strcmp strcmp : 문자열 비교 함수이다. 문자열이 같을 경우 0을 반환하고, 0이 아니면 다르다는 의미이다. 1인 경우, 오른쪽의 아스키코드가 더 작다는 뜻이고, -1인 경우는 왼쪽의 아스키코드가 더 작다는 뜻이다. memset memset : 메모리를 내가 원하는 크기만큼 원하는 값으로 채워주고자 할 때 사용한다. 단, 1바이트 단위로 값을 채워준다. 1번인자 : 메모리 주소 2번인자 : 채워줄 값 3번인자 : 채워줄 메모리 크기 memcpy memcpy : 메모리를 복사할 때 사용한다. 1번인자 : 메모리 주소 2번인자 : 복사할 메모리 주소 3번인자 : 복사할 메모리 크기 1번인자의 주소에 2번인자의 주소로부터 3번인자의 크기만큼을 복사한다.

C++ 문법 2022.04.12

문자열 관련 함수 1 (strcpy_s, strlen함수, strcat_s)

char : 1바이트를 차지하는 문자 wchar_t : 2바이트를 차지하는 문자 한글은 1글자당 2바이트를 차지하므로 char에 저장 할 때는, 2개의 공간이 필요하다. 문자열의 끝은 0(null문자)로 표현이 되어야 한다. strcpy_s strcpy_s : 문자열 복사 함수. 1번인자가 배열로 들어갈 경우, 인자가 2개이다. 1번인자에 2번인자에 들어간 문자열을 복사해주게 된다. 1번인자가 포인터일 경우, 인자가 3개이다. 1번인자에 3번인자의 문자열을 2번인자의 크기만큼 복사해주게 된다. ※ 문자열 리터럴은 rodata 영역에 저장이 된다. 문자열 리터럴은 const char* 로 인식한다. strlen 함수 strlen 함수를 이용해서 문자열의 수를 얻어올 수 있다. 바이트 크기가 아닌 문자열 개..

C++ 문법 2022.04.12