wo_dbs
close
프로필 배경
프로필 로고

wo_dbs

  • 분류 전체보기 (273)
    • 프로젝트 (35)
      • Where42 (14)
      • kkrap (21)
    • 개발 지식 (86)
      • 인프라 (3)
      • GIt (1)
      • CS (5)
      • OS (5)
      • KSUG (40)
      • C++ (21)
      • Spring boot (5)
      • java (0)
      • Database && SQL (2)
      • Algorithm (4)
    • 객체지향 (24)
      • C++ 객체지향 (24)
    • 외부 활동 및 교육 (117)
      • 42Seoul (114)
      • 인턴 (3)
    • 나의 일기 및 회고록 (5)
      • 회고 (2)
      • 자격증 (3)
    • 기타 (3)
  • 홈
  • Github

[CPP Module 07] ex02

이번에는 클래스 템플릿 Array를 구현하는 문제차근차근 조건대로 해보자.매개변수가 없는 구성: 빈 배열을 생성합니다. unsigned int n을 매개변수로 사용하여 생성: 기본적으로 초기화된 n개 요소의 배열을 생성합니다. 팁: int * a = new int(); 그런 다음 *a를 표시합니다.private: T *arr; unsigned int _len; 복사 및 할당 연산자에 의한 구성. 두 경우 모두 복사 후 원본 어레이나 복사본을 수정해도 다른 어레이에 영향을 주어서는 안 됩니다.Array(const Array &array) { this->arr = NULL; *this = array; } Array &operator=(const Array ..

  • format_list_bulleted 외부 활동 및 교육/42Seoul
  • · 2024. 2. 9.
  • textsms

[CPP Module 07] ex01

Iter이라는 함수가 있는데 이 함수의 조건을 말해줌.아무것도 반환하지 않는 함수 템플릿 iter첫 번째 매개변수는 배열의 주소입니다.두 번째는 배열의 길이입니다.세 번째는 배열의 모든 요소에 대해 호출되는 함수입니다.iter.hpp#ifndef WHATEVER_HPP# define WHATEVER_HPP#include templatevoid iter(T *array, int len, void (*func)(T &)){ if (len void func(T &data){ std::cout

  • format_list_bulleted 외부 활동 및 교육/42Seoul
  • · 2024. 2. 9.
  • textsms

[CPP Module 07] ex00

들어가기 전 공부하고 가자!https://wo-dbs.tistory.com/172 C++ template(템플릿)→ 템플릿은 함수나 클래스를 개별적으로 다시 작성하지 않아도, 여러 자료 형으로 사용할 수 있도록 하게 만들어 놓은 것. 함수 템플릿(Function Template), 클래스 템플릿(Class Template)로 나뉜다. 좀wo-dbs.tistory.com 이번 문제는 템플릿을 한 번 사용해보라는 문제이다.swap, min, max의 값을 구하는 템플릿 함수를 작성하면 된다. #ifndef WHATEVER_HPP# define WHATEVER_HPPtemplatevoid swap(T &a, T &b){ T tmp = a; a = b; b = tmp;}templateT min(T &a, T &..

  • format_list_bulleted 외부 활동 및 교육/42Seoul
  • · 2024. 2. 9.
  • textsms

[C++ 객체지향] C++ template(템플릿)

→ 템플릿은 함수나 클래스를 개별적으로 다시 작성하지 않아도, 여러 자료 형으로 사용할 수 있도록 하게 만들어 놓은 것.함수 템플릿(Function Template), 클래스 템플릿(Class Template)로 나뉜다.좀 더 쉽게 템플릿을 설명한다면, 우리는 자료형이라는 게 있다. 이 자료형에 맞게 함수를 작성하거나 매개변수로 넘길 때도 자료형에 맞게 넘겨준다. 그런데 템플릿은 이 자료형을 전부 통합할 수 있다는 이야기이다.템플릿은 컴파일 타임에 코드를 생성하기 때문에 런타임 오버헤드가 없다. 그러나 컴파일러가 템플릿 코드를 컴파일하는 동안 많은 코드가 생성될 수 있으므로 템플릿을 남용하면 컴파일 시간이 길어질 수 있다.또한, 템플릿을 사용할 때 특정한 데이터 타입에 대해 원하는 동작을 보장하기 위해 ..

  • format_list_bulleted 객체지향/C++ 객체지향
  • · 2024. 2. 9.
  • textsms

[CPP Module 06] ex02

들어가기 전 dynamic_cast를 공부하고 가자https://wo-dbs.tistory.com/168 dynamic_castdynamic_cast는 주로 다형성(polymorphism)과 관련이 있다. 이 연산자는 런타임에 안전한 형변환을 수행한다. 즉, 동적으로 객체의 타입을 확인하고, 그 결과에 따라 적절한 형변환을 수행한다. 주로 상wo-dbs.tistory.com ex02에서는 업캐스팅을 하는 문제이다.Base 클래스 A, B, C가 상속을 받으며 업캐스팅을 한다.#include "Base.hpp"#include "A.hpp"#include "B.hpp"#include "C.hpp"#include #include #include static Base* generate(){ srand(time..

  • format_list_bulleted 외부 활동 및 교육/42Seoul
  • · 2024. 1. 26.
  • textsms

[CPP Module 06] ex01

들어가기 전 보고 가자https://wo-dbs.tistory.com/167 reinterpret_castreinterpret_cast()는 static_cast()보다 안전성은 조금 떨어지며, C++에서 가장 강력하면서도 위험한 형변환 중 하나이다. C++ 타입 규칙에서 허용하지 않더라도 상황에 따라 캐스팅하는 것이 적합할 때wo-dbs.tistory.com ex01은 reinterpret_cast에 대해서 잘 알고 있는 지 확인해보는 문제이다.개념을 잘 알면 문제가 잘 풀릴 것이다.prev를 선언하여 next에 넣어준 후 prev랑 next를 연결시켜주는 문제.#include "Data.hpp"uintptr_t serialize(Data* ptr){ return(reinterpret_cast(ptr)..

  • format_list_bulleted 외부 활동 및 교육/42Seoul
  • · 2024. 1. 26.
  • textsms
  • navigate_before
  • 1
  • ···
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • ···
  • 46
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (273)
    • 프로젝트 (35)
      • Where42 (14)
      • kkrap (21)
    • 개발 지식 (86)
      • 인프라 (3)
      • GIt (1)
      • CS (5)
      • OS (5)
      • KSUG (40)
      • C++ (21)
      • Spring boot (5)
      • java (0)
      • Database && SQL (2)
      • Algorithm (4)
    • 객체지향 (24)
      • C++ 객체지향 (24)
    • 외부 활동 및 교육 (117)
      • 42Seoul (114)
      • 인턴 (3)
    • 나의 일기 및 회고록 (5)
      • 회고 (2)
      • 자격증 (3)
    • 기타 (3)
전체 방문자
오늘
어제
전체
인기 글
최근 글
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바