Game!

Language (37)

  1. 2022.05.06 [C++] 함수 포인터

    함수 포인터 함수의 주소값을 저장하는 포인터 (함수의 시작 주소를 가리킨다) 함수 : 프로그램(exe 파일)이 실행될 때, 우리가 소스파일에 정의한 모든 함수가 메인 메모리(프로그램이 실행되면서 할당받은 메모리)에 올라간다. 이때. 우리가 작성한 함수이름은 함수의 시작 주소를 가리키는 포인터가 되는데, 이 포인터가 가리키는 주소가 변경되면 안되니까.. 포인터 상수로 함수의 시작 주소를 가리키게 된다. 이것을 함수 포인터 라고 부른다. 포인터 상수 : const ptr 포인터를 상수로 처리했다 는 의미이다. ---> "포인터를 상수로" 라고 생각하면 쉽다. cf. 상수 포인터 : ptr 상수를 가리키는 포인터 라는 의미이다. ---> "상수를 가리키는 포인터" 라고 생각하면 쉽다. ① 함수 포인터 선언 문..

  2. 2022.04.01 [C++] 문법 - 범위 지정 연산자

    C++에서 가장 우선순위가 높은 연산자는 바로 범위 지정 연산자입니다. 범위 지정 연산자(::)는 여러 범위에서 사용된 식별자(identifier)를 식별하고 구분하는데 사용하는 연산자입니다. 이러한 식별자로는 변수, 함수 또는 열거체가 올 수 있습니다. 범위 지정 연산자를 변수의 이름 앞에 붙이면 해당 변수는 전역으로 사용하라는 의미로 쓰이게 됩니다. 또한, 클래스에 이 연산자를 사용하면 네임스페이스 멤버를 식별하거나, 클래스의 정적 멤버를 호출할 수 있습니다. C++에서 범위 지정 연산자를 사용하기 위한 문법은 다음과 같습니다. 문법 1. ::식별자 2. 클래스이름::식별자 3. 네임스페이스::식별자 4. 열거체::식별자 더보기 언리얼 FString::FromInt() 방식은 2번 방식으로, From..

  3. 2021.05.11 구조체 메모리 할당 위치, 범위 고정시키기 1

    class 또는 struct 객체의 크기는 필드의 크기보다 크게 표시될 수 있다. 1 2 3 4 5 6 struct A { public int i; // 4 public double d; // 8 public byte b; // 1 } cs A 구조체의 경우, 크기를 4+8+1 = 13 으로 생각할 수 있지만, 실제 객체 사이즈를 확인해보면 24로 확인할 수 있다 * ex. Marshal.SizeOf( typeof( A ) ); 왜냐면, C# / .NET 에서 자동으로 Field Ailgnment 규칙에 따라 객체 크기를 맞춘 것이다. * C# / .NET 에서의 Field Ailgnment 규칙 : 8바이트 바운더리 -> 내 생각에, 2^n, 8^n 등 배수 규약에 맞춰지지 않은 크기여서, 특정 배수보..

  4. 2020.10.20 c# Color 와 Color32 색상 범위 차이

    https://chopchops.tistory.com/m/15https://forum.unity.com/threads/what-is-the-difference-between-color-and-color32.824196/   color 는 0~1 값으로 표현한다 > 부동소수그래서 1보다 큰 값을 넣으면 하얀색으로 나옴 color32 는 8비트 > 0~255 값으로 표현한다 > 상수

  5. 2020.10.08 [C#] const, readonly 차이

    용도 차이 : 초기화 시점을 바꾸고 싶을 때 필요한 걸 사용 const : 상수. 생성 시 바로 초기화해야한다. 이후에 변경 불가 readonly : 상수처럼 사용. 생성자에서 초기화 가능하다. 생성자 외의 함수에서는 변경 불가

  6. 2018.03.21 C++ for_each 함수

    C++ / for_each 함수 제공하는 반복자 사이의 모든 요소를 각각 방문하여 작업을 처리하는 함수.즉, for_each 함수의 3번째 인자로 전달받은 함수나, 객체의 오버로딩 된 ( )연산자(연산자오버로딩)에 컨테이너 요소 값을 전달하는 것을 의미 ex) ⓛ class CMyClass{public: // (당연히) 퍼블릭으로 해주어야합니다.void operator( ) ( CTestClass& test ){delete test;test = NULL;}} vector vec; // 사이 코드는 초기화 및 값이 들어가있다고 가정합니다.... for_each( vec.begin( ), vec.end( ), CMyClass( ) ); /// vec 변수에 들어가있는 begin부터 end 앞까지의 CTest..

  7. 2018.02.28 wsprintf 정리

    원형   int wsprintf(LPTSTR lpOut, LPCSTR lpFmt, ... ); 인수 1.  lpOut : 완성된 서식이 해당 변수에 담긴다. 최대 길이 1024 바이트.  2.  lpFmt : 서식 문자열, 일반 문자열 사이에 %로 시작되는 서식 포함 가능  3.  ...      : 서식 문자열 내의 서식과 대응되는 변수. 서식의 개수만큼 변수를 제공해야함. ▶ lpFmt, ...  부분은 printf 함수와 동일하며, 해당 완성된 문자열이 lpOut 변수에 담기게 된다 리턴  성공할 경우, 버퍼로 복사된 문자 개수를 리턴해준다. 널 종료 문자는 개수에서 제외됨.  실패할 경우, 예상된 출력보다 더 작은 문자수가 리턴됨. 이 경우 GetLastError 함수로 실패 원인 파악 가능.예제..

  8. 2018.01.10 [C++] 중첩 클래스 사용 이유

    중첩 클래스는 class 내부에 class를 선언하는 것이다 보통, 외부 class에 내부 class를 선언하는 경우에 / 내부 class를 private 으로 정의한다. 왜냐하면, 특정 클래스 안에서만 사용하는, 또다른 클래스 자료형이 필요할 경우에 이러한 방식을 사용하기 때문이다. https://m.blog.naver.com/PostView.nhn?blogId=kks227&logNo=220179773371&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

  9. 2018.01.10 문자열 코딩 - [아스키코드, 멀티바이트, 유니코드]

    VS 프로젝트 속성 -> 구성속성을 보면문자 집합으로 2가지를 사용할 수 있다.1. 멀티바이트 문자 집합2. 유니코드 문자 집합  아스키 코드(SBCS) - 모든 문자 하나가 1byte를 차지하며 영어를 표현한다. 하지만 아스키 문자 코드 만으로는 한글이나 일어 등의 다른 문자를 표시할 수 없다.   멀티바이트(MBCS) - 1. 아스키 문자 코드에다가 다른문자(2byte)들을 포함한 문자 집합이다.어떤 문자는 1byte고, 어떤 문자는 2byte이다.정확히는 모르겠지만, 한 문자가 2byte를 넘는 문자도 존재할 것이다. 2. 멀티바이트 문자 집합은 특정 문자 집합마다의 코드페이지가 존재한다.예를 들어, 같은 코드 번호 일지라도 한글 코드 페이지로 해석하면 한글이 나오지만,일어 코드 페이지로 해석하면 ..

  10. 2017.12.28 [C++] variadic template

    variadic template 은... 템플릿의 인자를 가변적으로 받을 수 있도록 구현하는 방식이다 참고)variable argument (다양한 인수의 표현) 이것의 심볼로는 ... 을 사용합니다. variadic template을 함수 템플릿 / 클래스 템플릿 2가지로 나누어서 간략히 설명합니다. 12345678910111213 template // template parameter packvoid Function( const Arg1& arg1, const Args&... args ) // function parameter pack{ Test( arg1 ); Function( args... );} void main(){ Function( 1, "ezreal very handsome", 1.5f )..

1 2 3 4