목록전체 글 (26)
동뀨의 story
Edit >> Input manger : 변수 모음집 [SerializeField] time.deltatime 타겟 디바이스의 성능 격차로 프레임 수행시간이 다른것을 보정하기 위해 사용된다. ex)프레임마다 1씩이동 A기기가 1초에 10프레임, B기기가 1초에 20프레임이 재생된다면 안된다. 따라서 기기의 출력할수있는 프레임성능에 역수를 곱해서 수가 일정하도록 하는 것이다. virtural carmera follow cinemachine pakages private void OnCollisionEnter(Collision other) { Debug.Log("벽이 물체와 충돌했습니다."); GetComponent().material.color =Color.blue;//generic mehtod는 명시된 형..
null 포인터 상수 c++11이전에는 상수값이 0이기도 하고 null 포인터이기도 했다. 지금은 두개 구분하지 못하면 컴파일러가 알아서 걸러준다. 그럴때는 nullptr을 사용해야한다.즉 null은 상수값이고 , nullptr은 포인터이다. 헷갈렸던것 포인터는 값 할당시 주소값을 할당받아야된다.!!! NULL은 0번지주소값이다.즉 가르키는 것이없다. a = &b; //가르키는 주소값은 b int* a = 0;//가르키는 주소값 초기화 가리키는 주소값 없다.
Edit >> Input manger : 변수 모음집 [SerializeField] time.deltatime 타겟 디바이스의 성능 격차로 프레임 수행시간이 다른것을 보정하기 위해 사용된다. ex)프레임마다 1씩이동 A기기가 1초에 10프레임, B기기가 1초에 20프레임이 재생된다면 안된다. 따라서 deltatime을 곱하면 1초에 1프레임이 되도록 설정하는 것이다. virtural carmera follow:객체를 따라다는 카메라 cinemachine pakages: 카메라를 여러대 설치가 가능하다. mess :무게 수치가 높을수록 충동이 힘이 쎄짐 속도 use gravity 중력 사용확인체크 kinemetic 물리 현상 효과를 무시 ex)골대 material 재질 결정하는것(꾸미기)
int **arr = new int*[a];// 2차원 배열 생성 2차원 배열의 주소값의 크기할당 for (int i=0;i
디버그 사용법 종단점 체크한뒤 디버깅하면 거기까지의 변수의 종류와 변수의 값을 확인 할 수 있다. stack :후입 선출 == 선입 후출 queue:후입 후출 == 선입 선출 코드 == 명령어의 집합,작업 명령서 함수명령어 집합체 코드 != 메모리 영역 조작 관리 함수가 사용하는 메모리의 영역은 stack이다. heap 메모리 영역은 사용자가 사용 할수 있는 메모리 영역이 이다. 자료구조 Data structure int divide(void);//선언부에 명시적으로 파라미터목록에 void를 넣지 않는다. auto c =3;//auto는 함수가 자동으로 자료형을 결정하게 한다. variable.substr(시작 위치, 길이);//시작위치에서 얼마나 자를것인가 #include “name”.h//사용자라이브..
main함수의 인수의 종류 argc 에서 이어지는 매개변수를 포함하는 갯수의정수이다. argv. argc 매개 변수는 항상 1보다 크거나 같다. argv 프로그램의 사용자가 입력한 명령줄 인수를 나타내는 null로 끝나는 문자열의 배열이다. 규칙에 따라 argv[0] 프로그램이 호출되는 명령입니다. argv[1] 는 첫 번째 명령줄 인수입니다. 명령줄의 마지막 인수는 이며 argv[argc - 1]argv[argc] 항상 NULL입니다. int 자료형 long 과 int는 같다. 32비트 4bytes long long 과 long long int는 같다. :8바이트 64비트 8bytes vector container: 자동으로 메모리가 할당되는 배열맨뒤에서 삽입과 삭제가 가능하다. #include std..
void Start();//스크립트 시작시 사용되는 함수 void update();//1초에 60번 작동하는 함수. Vector3 vec =new Vector3(1,1,1); //벡터 객체 생성하고 1,1,1의 값을 할당한다. Vector3 vec = new Vector(Input.GetAxis(“”),Input.GetAxis, 0);// 버튼누르면 vec 객체의 값을 변경한다. transform.Translate(vec);//현재 적용된 스크립트의 객체에 벡터값을 update한다. Vector3 target = new Vector3(8,2.21f,0);//target 객체 생성 void Update() { transform.position = Vector3.MoveTowards(transform.pos..
오버헤드: 오버헤드(overhead)는 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 등을 말한다. 예를 들어 A라는 처리를 단순하게 실행한다면 10초 걸리는데, 안전성을 고려하고 부가적인 B라는 처리를 추가한 결과 처리시간이 15초 걸렸다면, 오버헤드는 5초가 된다. 또한 이 처리 B를 개선해 B'라는 처리를 한 결과, 처리시간이 12초가 되었다면, 이 경우 오버헤드가 3초 단축되었다고 말한다 캐스팅(형변환) std::vector 안정성을 위해 사용(동적인 배열) 새로운 항목을 추가할때 크기가 자동으로 늘어난다. std::array:는 벡터와 달리 크기가 고정되어 있어서 새로운 항목을 추가하거나 삭제할 수는 없지만 오버헤드가 적은 장점이 있다. 좋은점: 배열의 크기를 알수 있고 포인터가..
Const 제한자는 해당 변숫값이 절대 바뀌지 않음을 나타낸다.(연산자를 활용하여 연산은 가능하다.) enum열거형 타입은 나열하는 값 목록과 범위를 엄격히 관리 하여 이러한 문제를 사전에 방지한다. 그렇지만 열거형 타입은 정수취급을 받기 때문에 별개인 타입의 열거형간에도 비교연산이 가능하다. 그렇기 때문에 class타입의 열거형을 사용하면 이를 방지 할수 있다. ::의미는 클래스와 클래스안의 요소를 구별하는 표현인 것 같다. #include enum class piecetype{ pieceking, piecequeen,piecerook,piecepawn }; enum car{ a,b,c,d,e,f}; int main() {piecetype select = piecetype::pieceking; } 클래..
c언어와 c++은 같은 컴파일러를 사용한다. review c언어의 bulid 과정 proprocess -> compie(소스코드 기계어 번역 )-> object file을 만든다 -> linker library -> excute 실행 Build = Complie + 그 외 작업 Run = Build + 실행 = (Complie + 그외작업) + 실행 namespace 코드내에서 이름이 같은 변수가 충돌되는 것을 막는다.호출할때 함수의 이름앞에 네임스페이스와 ::를 붙인다. using 지시자는 복수의 네임스페이스를 한꺼번에 지정없이 사용 할수 있다. c++는 변수를 선언하고 정의를 하지 않으면 변수의 메모리 주소에 기존에 있던 값이 저장 되어 있다. 변수선언은 버그를 유발 할 수있으니 조심해야 한다. 리터..