C++ 입출력 라이브러리 C++의 모든 입출력 클래스는 ios_base를 기반으로 한다. ios 스트림 버퍼를 초기화 한다. 데이터를 읽을 때 큰 덩어리로 불러와서 저장하는 곳. istream 입력을 수행하는 클래스 std::cin >> a; ...
표준 string 클래스 특징 연산자 +, == 등이 오버로딩되어 있기 때문에 strcmp등의 함수 없이도 문자열 간의 비교, 붙이는 작업 등이 가능하다. 문자열을 하나의 타입처럼 표현할 수 있게 해준다. 선언과 초기화 string str1; // 문자...
네트워크 구조 (OSI 7계층) 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리한 것 1계층 : 물리 계층 (Physical layer) 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송 전송 단위(Protocol Data Unit, PDU) : 비트 데이터를 전달만 하는 역할 주요 장비 ...
연산자 오버로딩 다음 연산자에 대해 사용자가 재정의하여 사용할 수 있다. 산술 연산자 : +, -, * 약형 연산자 : +=, -= 비교 연산자 : >=, == 논리 연산자 : &&, || 멤버 선택 연산자 : ->, * 증감 연산자 : ++, -...
General guidelines 너는 소규모의 네트워크를 설정해야 할 것이다. 이를 위해 TCP/IP 주소지정이 어떻게 동작하는지를 이해해야한다. 너는 10개의 레벨을 완료한 뒤에 너의 Git 저장소에 올려야한다. Mandatory part 이 프로젝트는 네트워크 문제를 해결하여 네트워크가 동작하게끔 만드는 것이다. 우선 프로젝트 페이지...
객체 지향 프로그래밍 (Object-Oriented Programming, OOP) 개념 소프트웨어 시스템을 설계하고 구축하기 위해 객체를 사용하는 것에 초점을 맞춘 프로그래밍 패러다임 코드를 모듈화(modular)하고 재사용 가능(reusable)하며 이해하기 쉽고 유지 보수(maintain)가 용이하도록 만드는...
메모리 동적 할당 new로 할당, delete로 해제 일반적인 경우 할당 T* pointer = new T; 해제 delete pointer; 배열을 할당하는 경우 할당 T* arr = new T[size]; 해제 delete[] arr;
레퍼런스 개념 특정 변수의 실제 이름 대신 사용할 수 있는 별명 사용 방법 int x = 10; int& ref_x = x; // ref_x는 x의 참조자이다 특징 크기가 큰 데이터를 인수로 전달할 경우에 유용하다. 참조자를 리턴하는 것은 주소값만 복사하면 되기 때문에 값을 리턴하는 것에 비해 효율적...
6주 동안의 minishell 과제를 마치며 minishell Shell을 만들어라. Subject를 처음 봤을 때 상당히 막연했다. Shell을 직접 만들라니. 여지껏 shell = 터미널 정도로만 생각했던 나로서는 이 프로그램을 어떤 방식으로 구현해야 할지, 무슨 기능을 만들어야 할지 감도 잡히지 않았다. 그러던 차에 한 ...
namespace 개념 연관된 식별자(변수, 함수, 클래스 등)들을 하나의 이름으로 묶는데 사용 이름이 겹쳐서 발생하는 문제를 예방한다. 코드를 더욱 논리적으로 조직할 수 있게 해준다. using namespace의 name들을 현재 스코프에 보이도록 해준다. 예시 MyNamespace::myFunction...