Study 썸네일형 리스트형 네트워크 기초 허브: 반이중/수신충돌/현재사용안함스위치: 전이중/충돌없음/현재사용함 라우터: 네트워크간 통신/데이터전송/경로탐색(라우팅 테이블)IP주소: 어떤 네트워크의 어떤 컴퓨터인지 구분하는 주소 ISP에서 공인 IP 주소 발급 -> 라우터를 통해 사설 IP 주소로 변환 -> 각 컴퓨터 연결IP 주소는 호스트 IP와 네트워크 IP로 구분된다.클래스의 구분은 네트워크 ID와 호스트 ID의 영역 차이다.Network ID는 소속을 나타내고, Host ID는 개인 주소를 나타낸다.이를 나누는 기준은, 대규모의 경우 소속된 개인 컴퓨터에 할당될 IP가 많을 것이며, 반대로 소규모의 경우 개인 컴퓨터에 할당될 IP가 적을것이다. 따라서 클래스별로 구역을 나누어 사용하는 것이 효율적이다. 하지만 IP 주소 클래스 할당은 브.. 더보기 언리얼 엔진과 네트워크 언리얼 엔진의 네트워크 시스템을 공부하면서, 언리얼 엔진은 과연 TCP일까 UDP일까 문득 궁금해졌다.찾아보며 다음과 같은 내용들을 찾았다. 우선 언리얼의 NetDriver.h의 내용은 다음과 같다.// Copyright Epic Games, Inc. All Rights Reserved.//// Base class of a network driver attached to an active or pending level.#pragma once#include "CoreMinimal.h"#include "Engine/EngineBaseTypes.h"#include "Engine/EngineTypes.h"#include "Net/NetworkMetricsDatabase.h"#include "HAL/IConsol.. 더보기 String 클래스의 구조와 friend 선언을 통한 연산자 오버로딩의 출력 #include using namespace std;class MyString{ public: MyString(const char* str) { for(int i = 0; i str[i] = '\0'; } for(int i = 0; i str[i] = str[i]; } } void operator+=(const char* str) { int idx = 0; for(int i = len; i str[i] = str[idx]; idx++; } } friend ostream& operator 1. operatoroperator는 멤버 함수가 아닌 전역 함수로 정.. 더보기 Wrapper Class 기본 자료형을 객체로 쓸 때 사용한다.int num = 5;class Integer{private: int num;public: Integer(int num):num(num); Integer(Integer &i):num(i.num);} 더보기 Smart Pointer 스마트 포인터는 C++에서 제공하는 포인터의 한 형태로, 자동 메모리 관리를 지원하는 포인터다.C++은 C#과 같이 가비지 컬렉션을 지원하는 언어와는 다르게, 메모리를 동적으로 할당했다면 반드시 수동으로 해제해야 한다.이를 위해 등장한 것이 바로 스마트 포인터 이며, 스마트 포인터는 포인터가 가키리는 메모리를 더 이상 사용하지 않을 경우 자동으로 해제하는 역할을 한다.#include #include using namespace std;int main(){ unique_ptr uPtr(new int(1945)); // auto는 더 이상 쓰지 않는다. auto_ptr aPtr(new int(1945)); shared_ptr sPtr(new int(1945)); return 0;}.. 더보기 [Tips] API 클래스 이름에 붙는 API는 매크로다.이는 DLL끼리 서로 노출시키는 것으로, 사용 방법에 따라 모듈 내부에서만 사용하는 경우에는 캡슐화를 제공하고 외부에서는 사용할 부분과 사용하지 않을 부분을 구분한다. 클래스에 선언 시 (클래스이름_API) 모두 OPEN하여 사용한다는 뜻이다.만일 클래스에 선언하지 않고, 특정 함수에만 API 선언을 하면, 해당 함수만 OPEN 한다. 이를 mini API라고 한다.-> 이렇게 오픈된 것들은 다른 모듈에서 자유롭게 접근이 가능하다. 일종의 함수용 namespace라고 생각해도 무방하다. 핵심은 캡슐화다! 더보기 [Tip] 파일의 이름 길이 32자를 넘기지 않는 것이 가장 좋다.넘겨도 작동은 가능하지만, 간헐적으로 문제가 발생한다. 더보기 [Tips] 이름 앞에 붙는 것 A -> Actor Class 상속U -> UObject Class 상속F -> Structure / Native Class / FStructure 상속E-> Enumb -> boolean 더보기 이전 1 2 3 4 ··· 8 다음