본문 바로가기
반응형

분류 전체보기443

C++ Call By Value, Call By Reference, Call By Address [C/C++] Call By Value, Call By Reference, Call By AddressCall By Value : 값만 전달하는 함수 호출 방법Call By Reference : 참조값을 전달하는 함수 호출 방법Call By Address : 주소 값을 전달하는 함수 호출 방법#include // Call By Valuevoid AddValue(int a, int b){ a = a + b; printf("Call By Value A : %d \n", a);}// Call By Referencevoid AddReference(int &a, int &b){ a = a + b; printf("Call By Reference A : %d \n", a);}// Call By Addressvoid .. 2022. 12. 7.
C++ Up&Down (업앤다운) 게임 만들기 [C/C++] Up&Down (업앤다운) 게임 만들기Up & Down 게임 만들기- 1 ~ n ( or 100 ) 사이의 랜덤 숫자 뽑기- 범위 안의 숫자를 입력한다.- 범위에서 벗어난 숫자를 입력할 경우 예외처리- 입력값이랑 랜덤숫자랑 비교 후 같을 경우 클리어, 낮거나 높으면 안내- 위 방법을 클리어까지 반복- 함수를 사용하여 만들기 * 참고#include rand 함수 사용을 위한 헤더파일#include time 함수 사용을 위한 헤더파일 #define INT_MAX  (내장매크로)#include #include #include void InputMaxValue(int &max);void CheckRange();bool CheckAnswer(const int inputNum, const int .. 2022. 12. 6.
C++ 별 다이아몬드 찍기 [C/C++] 별 다이아몬드 찍기 #include int main(){ int lineSize; int middleLine = 0; while (true) { printf("다이아몬드의 크기를 입력해 주세요 (1이상 홀수) : "); scanf_s("%d", &lineSize); if (lineSize 2022. 12. 6.
C++ #define, 매크로 [C/C++] #define, 매크로 매크로 #define단순 매크로가독성이 좋아지고 상수의 변경이 용이함형태#define MAX 100#define PI 3.14함수 매크로define을 이용해 매크로를 함수처럼 사용할 수 있다.형태#define SQUARE (x) ((x) * (x))#define 매크로명(매개변수) 치환 텍스트 내장 매크로미리 정의 되어 내장되어 있는 매크로 2022. 12. 6.
카멜 표기법, 스네이크 표기법 [C/C++] 카멜 표기법, 스네이크 표기법 카멜 표기법카멜 표기법(Camel case 카멜 케이스[*]) 또는 낙타 표기법 프로그래밍에서 파일, 변수, 함수 등 대상의 이름을 띄어쓰기 없이 짓기 위하여 따르는 관례인 네이밍컨벤션(Naming convention)의 하나다.맨 첫 글자를 제외한 각 합성어의 첫 글자만 대문자로 표기한다.단어 전체적으로 소문자를 사용합성한 단어의 모양이 쌍봉낙타의 등과 비슷하다는 뜻에서 이름붙었다.camelCase(일반적인 변수 이름)isCamelCase(Boolean 타입의 변수 이름)스네이크 표기스네이크 표기법(Snake case 스네이크 케이스[*]) 또는 스네이크 표기법은 프로그래밍에서 파일, 변수, 함수 등 대상의 이름의 띄어쓰기를 언더바(_)로 표기하는 관례인 네.. 2022. 12. 6.
Unreal5 오류 Error : MSB3073 Code6 해결 [Unreal5/오류] Error : MSB3073 Code6 해결환경Windows10Unreal5 5.0.3VisualStudio 2022  기존 문제점 및 해결방법1. 파일의 경로에 띄어쓰기가 있으면 안된다.2. VisualStudio를 관리자 권한으로 실행시켜야한다. (CODE:1)3. Copy 명령 실행 중 오류 > 프로젝트 속성 - 구성 - 빌드 중 이벤트 에서 복사를 수행할 경로 지정4. 배치파일 문제 cmd 명령어 입력ReBuild.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet -WaitMutex -FromMsBuild5. UPROPERTY 오타 등등이 있었지만 1번 .. 2022. 11. 19.
C++ 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) [C++] 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) 가상 함수(Virtual Function)와 순수 가상함수(Pure Virtual Function)공통점1. 클래스 상속 관계에서 사용된다.2. 멤버 함수를 재정의 할 수 있다. (오버라이딩) 차이점1. 순수 가상 함수는 자식 클래스에서 반드시 재 구현해야 한다.2. 가상 함수는 부모 클래스에서 구현부를 포함하고 있기 때문에 재 구현을 꼭 필요로 하지 않는다.3. 순수 가상 함수는 함수 선언 뒷 부분에 " = 0 "를 추가 해야 한다.4. 추상 클래스는 객체를 생성할 수 없다.5. 순수 가상 함수는 함수의 구현부가 없다. (자식 클래스에게 인터페이스만을 제공한다.)   > 구현부를 넣어봤는데 .. 2022. 11. 18.
C++ 연산자 오버로딩 [C++] 연산자 오버로딩 // 연산자 오버로딩 // 오버로딩의 개념을 '+', '-', '*', '/' 등 표준 연산자에 확장하여 연산자들이 다중적인 의미를 가질 수 있게 함 // 연산자도 피연산자의 타입에 따라 중복 정의할 수 있다.  // 피연산자의 타입이 달라도 똑같은 연산자로 일관되게 할 수 있는 것은 다형성의 예이다. // 연산자를 오버로딩하기 위해서는 operator + () 와 같은 특별한 함수가 필요하다. // 함수 호출과 연산자 표기 방법으로 사용 가능하다. // 연산자 표기 방법으로 사용할 때 연산자의 왼쪽 객체가 호출 객체이다. //  // 오버로딩의 규칙 // 1. 원래 연산자에 적용되던 문법을 위반해서 오버로딩된 연산자를 사용할 수 없다. // 2. 연산자의 우선순위를 변경할 수.. 2022. 11. 17.
C++ 클래스 private접근, Friend 지정 사용 [C++] 클래스 private접근, Friend 지정 사용 클래스의 멤버 중 private로 지정된 것들은 자신만 접근할 수 있게 설계되었는데 예외는 있다.Friend 키워드이다. 내 소중한 물건을 친구에게 빌려줄 수 있듯이 클래스에서 친구로 지정한 것들은 접근이 가능하다.전역 함수, 클래스, 멤버 함수를 Friend로 지정 가능하다.그 세 가지 예시를 하나의 코드에 담았다.  #include using namespace std;// * 클래스의 순서도 중요// 하단 예시 코드는 클래스의 순서를 고려하지 않은 코드임class PrivateClass;class UnknownClass{public: void FriendMemberFunction(PrivateClass& pc); };class Private.. 2022. 11. 17.
C++ 오류 해결 Error:C4996, strcpy, strncpy 사용시 에러 발생 [C++ / 오류 해결] Error:C4996, strcpy, strncpy 사용시 에러 발생 Error C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 strcpy_s를 사용해 보세요. 사용 중단을 비활성화하려면 _CRT_SECURE_NO_WARNINGS를 사용합니다. // 해당 기능을 사용하는 소스코드 상단에 추가#define _CRT_SECURE_NO_WARNINGS // 1번 째 방법#p.. 2022. 11. 16.
Unreal5 최적화 텍스처 해상도 대비 최적화 [Unreal5/최적화] 텍스처 해상도 대비 최적화 높은 화질의 텍스처, 멀리 있는 전경도 그래픽이 좋을 필요가 있을까 멀리 있는 오브젝트들은 텍스처 화질이 높아도 자세히 보이지 않는다.쓸떼없는 비용을 높이지 말고 적절하게 사용하자. 정리 내용1. 최대 해상도 변경2. 필요 텍스처 해상도3. 텍스처 해상도 대비 GPU가 원하는 해상도 비율필요 텍스처 해상도 확인카메라를 뒤로갔다 앞으로갔다 조절해보면 색이 달라짐. 빨강 : 안좋아보임노랑 : 별로흰색 : 좋다하늘 : 오 좋은데녹색 : 역시 언리얼 만약 위 돌이 상호작용하는 오브젝트라면 그래픽이 좋아야 겠지만배경의 일부라면 크게 좋을 필요가 없다.대상 텍스처를 더블클릭하여 편집창을 열고 최대 텍스처 크기를 조절해준다.좋군. 지나치는 배경에게 맛있는 리소스를 .. 2022. 11. 13.
Unreal5 최적화 스트리밍 풀 초과 해결 [Unreal5/최적화] 스트리밍 풀 초과 해결  텍스처 스트리밍 풀이 Mib 예산을 초과했습니다.Quixel BRIDGE 에셋 추가후 발생대부분의 텍스처들이 고화질로 임포트 되기 때문에 이런 현상이 많이 나타남 스트리밍 풀 상태 보기1. 명령창에 stat streamingpool 입력2. 뷰포트 옵션에서 통계표시 클릭 (Shift + L) 통계(statistics) 보는 법1. 상단 메뉴에서 : 툴 > 검사 > 통계 텍스처들의 크기가 4k노말맵이나 러프니스 등은 화질이 높을 필요가 없음줄이고 싶은 텍스처들의 이름을 클릭하면 콘텐츠 브라우저에 보임하나씩 선택해서 더블클릭 후 디테일>압축> 최대 텍스처 크기를 줄임 (64, 128, 256, 512, 1024, 2048)2의 제곱으로 설정 안할 경우 언리얼.. 2022. 11. 13.
반응형