언어/Basic C++

[Basic C++] #4 데이터 멤버의 종류, static, const, 참조 멤버 C++ 클래스 내부 데이터 멤버들의 종류에 대해서 알아보겠습니다. "전문가를 위한 C"의 8 항목, "클래스와 객체 마스터하기"의 내용입니다. #0. static 데이터 멤버 class A { private: static int totalCount; }; Details 어떤 데이터 멤버가 특정 클래스에 종속되기는 하나, 객체 별로 각각의 복제본을 갖는 것이 불합리하다고 판단되면, "static" 키워드를 통해 해당 클래스의 객체들이 전역으로 접근 가능한 데이터 멤버를 생성합니다. #1. const 데이터 멤버 class A { public: const int maxHeight = 100;// 상수 멤버 선언 const ..
[Basic C++] #3_얕은 복제, 깊은 복제 C++ 개발 중 객체 생성, 복제, 그리고 대입 과정에서 발생하는, 얕은 복제와 깊은 복제에 대해 알아보겠습니다. #0. 얕은 복제 1. 복제 생성자, 얕은 복제 얕은 복제는 클래스가 기본적으로 제공하는 디폴트 복사 생성자 혹은 디폴트 대입 연산자를 활용해 원본 값과 복사된 값이 같은 참조를 가리키도록 합니다. 2. 코드 예제(복사 생성자) #include "Spreadsheet.h" void printSpreadsheet(Spreadsheet s); int main() { Spreadsheet s1(4, 3); // 가로 4, 세로 3의 스프레드 시트 생성 printSpreadsheet(s1); } Details "s1" 객체가 printSpreadsh..
[Basic C++] #2 C 스타일의 문자열, char*, const char* C++ STL에서 제공하는 std::string 클래스 이전에, C에서 제공하는 문자열의 주요 특징들에 대하여 알아보겠습니다. C 스타일 문자열의 장점과 단점 1. 장점 단순하다. 기본 문자 타입과 배열 구조만 사용한다. 가볍다. 저수준이다. 익숙하다. 2. 단점 범용 문자열 데이터 타입으로, 고급 작업 시 많은 시간이 소요된다. 메모리 작업에 민감하고, 디버깅 과정에서 버그를 찾기 어렵다. C++의 객체지향 개념을 사용 할 수 없다. 문자열 내부 동작 방식을 모두 이해해야 한다. 헤더 파일 #include 코드 예제, strlen, strcpy char* copyString(const char* str) { char* r..
[Basic C++] #1 Map, Unordered_map, 해쉬 테이블 자료구조 중 해쉬 테이블(Key-Value-Pair)과 C++ STL이 제공하는 컨테이너 "map" , 그리고 "unordred_map"에 대해서 알아보겠습니다. Hash Table(해쉬 테이블), key-value 쌍, 자료 구조 해쉬 테이블이란, "키"를 해쉬 값으로 매핑하여, 이 해쉬 값을 인덱스 혹은 주소 삼아 "값"을 "키"와 함께 쌍으로 저장하여 검색이 빠른 연관 배열 자료구조입니다 -"키"와 "값"의 1대 1 연관 관계를 형성하는 자료구조입니다. 쉽게 말하자면, "Key-Value"를 한 쌍으로 저장하는 자료구조입니다. 이때, 키 값을 입력으로 받는 해쉬 함수는 한 쌍으로 저장될 "값"의 저장 위치, 혹은 bucket..
Hardii2
'언어/Basic C++' 카테고리의 글 목록 (9 Page)