Coder Island
close
프로필 배경
프로필 로고

Coder Island

  • 분류 전체보기 (110)
    • 컴퓨터과학(CS) (1)
    • C++ (52)
      • 자료형 (1)
      • 입출력 (1)
      • 연산자 (1)
      • 조건문 (1)
      • 반복문 (1)
      • 함수 (1)
      • 포인터 (1)
      • 템플릿과 제네릭 (1)
      • 객체지향 (4)
      • STL (31)
      • 자료구조 (2)
      • 알고리즘 (1)
    • 게임개발 (14)
      • 언리얼엔진 (1)
      • 유니티 (12)
      • 게임이론 (1)
    • 백준 (26)
    • 프로젝트 (5)
      • 모바일프로그래밍 (1)
      • 웹프로그래밍 (2)
      • 임베디드 (1)
      • 데이터베이스 (1)
    • 일기장 (9)
      • 알바 (3)
      • 책 (1)
    • 로스트아크 (1)
    [STL] 함수 포인터의 종류

    [STL] 함수 포인터의 종류

    함수 포인터 종류함수는 주로 정적함수와 멤버함수로 나눈다.정적함수 예시: namespace내 전역함수, static 멤버 함수멤버함수는 1. 정적 함수 호출2. 객체로 멤버 함수 호출3. 주소로 멤버 함수 호출로 나뉜다. 코드#include using namespace std;void Print() { cout Print(); //주소로 멤버 함수 호출 return 0;} 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 15.
    • textsms
    [STL] 함수 포인터 선언과 사용

    [STL] 함수 포인터 선언과 사용

    함수 포인터함수의 시작 주소를 저장하는 포인터주로 변수를 저장할때 포인터를 써왔지만 함수도 스택에 주소가 저장되기 때문에 포인터를 통해 참조가능. 함수의 시작 주소를 저장하는 포인터로 함수 시그니처(함수의 반환 타입과 매개변수 리스트)와 같게 선언. #include using namespace std;void Print(int n) { cout  void(*pf)(int)void : 반환값이 없다.(*pf): 함수 포인터(int): 매개변수를 int형으로 받는다.Print 전역변수를 pf에 할당해주기 위해서는 함수포인터의 반환값과 매개변수 즉 시그니처를 맞춰줘야함. 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 15.
    • textsms

    [STL] 1장 문제풀이

    1. 다음 이항 연산자 +가 호출하는 오버로딩 함수 두 개를 고르세요.Point p1, p2;p1+p2;operator+(p2,p1);p1.operator+(p2);operator+(p1,p2);p2.operator(p1);답: 2,31번이 안되는 이유: 매개변수의 순서가 p2가 먼저오기 때문에 p2+p1에 대해서 가능하므로 X4번 역시 this인 자기자신이 p2기 때문에 불가능 2. 다음 세 인자를 받는 () 연산자 오버로딩 함수 선언으로 맞는 것은?func(10, 20, 30);void operator()(void);void operator()(int);void operator()(int, int);void operator()(int,int,int);답: 4이유: 오버로딩은 함수이름이 같지만 전달받는..

    • format_list_bulleted C++/STL
    • · 2025. 2. 15.
    • textsms
    [STL] 클래스 타입 변환 연산자 오버로딩

    [STL] 클래스 타입 변환 연산자 오버로딩

    클래스 타입 변환 연산자타입 변환 연산자 오버로딩을 통해 자기 자신의 타입을 다른 타입으로 변환소스코드#include using namespace std;class Point { int x; int y;public: explicit Point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void Print() const { cout 코드 내용Point형 pt를 생성자 매개변수 2,3을 전달하여 생성.int형 n에 pt를 넣으면 타입변환 오버로딩 함수가 호출되어 this.pt의 x값만 반환되며 n에 들어가게됨.그 결과 n에는 pt의 2값이 들어갈 수 있어 결과적으로 2가 출력.실행 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 타입 변환 연산자 오버로딩

    [STL] 타입 변환 연산자 오버로딩

    타입 변환 연산자 오버로딩클래스에 각기 다른 타입으로 생성자를 오버로딩 하는 방식소스코드#include using namespace std;class A {};class B {public: /*B() { cout 코드 내용A 클래스 타입 a, int형 n, double형 d를 그리고 B클래스타입 b 총 4개를 미리 정의b에 각각 a, n, d에 대한 생성자로 할당해줌.B클래스에 있는 오버로딩된 생성자들을 통해 특정 타입을 인자로 받는 생성자 호출을 통한 타입 변환(객체 생성 후 대입)이 가능해짐!실행 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 스마트 포인터

    [STL] 스마트 포인터

    스마트 포인터C++에서 동적 메모리 할당과 누수를 관리하는 도구소스코드#include using namespace std;class Point { int x; int y;public: Point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void print() const { cout () const { return ptr; } Point& operator*() const { return *ptr; }};void main() { Point* p1 = new Point(2, 3); //PointPtr은 스택 메모리에, Point는 힙 메모리에 적재됨! PointPtr p2 = new Point(5, 5); p1->print(); //p1->print() 호출 (*p1)...

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 배열 인덱스 연산자 오버로딩

    [STL] 배열 인덱스 연산자 오버로딩

    클래스에 배열 인덱스를 적용시키게 하는 연산자 소스코드#include using namespace std;class Array { int* arr; int size; int capacity;public: //기본 생성자 cap매개변수 100을 받고 capacity를 100으로 초기화하여 arr크기를 100칸 할당하여 arr에 넣는다. Array(int cap = 100) : arr(0), size(0), capacity(cap) { arr = new int[capacity]; //arr[100] } ~Array() { delete[] arr; //동적 할당 해제 } void Add(int data) { if (size 코드내용1. Main함수에서 Array클래스 ar을 매개변수 10을 전달하여 10..

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 함수 호출 연산자 오버로딩

    [STL] 함수 호출 연산자 오버로딩

    함수 호출 연산자 오버로딩( ()연산자 )객체를 함수처럼 동작하게 하는 연산자 소스코드#include using namespace std;struct FuncObject {public: void operator()(int arg) const { cout 코드 내용main함수 내 함수호출에 매개변수 갯수에 따라 오버로딩 하는 함수가 달라지는 것.암시적 호출은 함수를 간접적으로 호출하는 것이고명시적 호출은 함수를 직접적으로 호출하는 것이라 보면됨. 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 연산자 오버로딩

    [STL] 연산자 오버로딩

    연산자 오버로딩C++에서 제공하는 클래스 타입(사용자 정의 타입)에도 연산자를 사용할 수 있게 하는 문법Example)기본타입 으로 쓰는 int형 X와Y를 더해서 Z에 값을 넣는Z = X + Y클래스타입 Point(int x,int y)인 P1과 P2를 각각 P1(1,1) P2(2,2)로 초기화 후 P3에 넣기P3 = P1 + P2Point 형이지만 위에 기본타입 처럼 연산자를 적용할 수 있게 하는 문법 덧셈 연산자 오버로딩 코드class point { int x; int y;public: point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void print() const { cout x + arg.x; pt.y = this->y + arg.y; return pt;} ..

    • format_list_bulleted C++/STL
    • · 2025. 2. 8.
    • textsms
    • navigate_before
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • ···
    • 13
    • navigate_next
    공지사항
    전체 카테고리
    • 분류 전체보기 (110)
      • 컴퓨터과학(CS) (1)
      • C++ (52)
        • 자료형 (1)
        • 입출력 (1)
        • 연산자 (1)
        • 조건문 (1)
        • 반복문 (1)
        • 함수 (1)
        • 포인터 (1)
        • 템플릿과 제네릭 (1)
        • 객체지향 (4)
        • STL (31)
        • 자료구조 (2)
        • 알고리즘 (1)
      • 게임개발 (14)
        • 언리얼엔진 (1)
        • 유니티 (12)
        • 게임이론 (1)
      • 백준 (26)
      • 프로젝트 (5)
        • 모바일프로그래밍 (1)
        • 웹프로그래밍 (2)
        • 임베디드 (1)
        • 데이터베이스 (1)
      • 일기장 (9)
        • 알바 (3)
        • 책 (1)
      • 로스트아크 (1)
    최근 글
    인기 글
    최근 댓글
    태그
    • #문제풀이
    • #c++
    • #유니티
    • #함수포인터
    • #stl
    • #독학
    • #게임개발
    • #백준
    • #unity
    • #프로젝트
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바