개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • C++
  • 설치
  • 소스
  • C
  • error
  • 개발
  • 코드
  • 설명
  • install
  • 방법
  • Java
  • 우분투
  • CODE
  • 예제
  • 라즈베리 파이
  • Python
  • ubuntu
  • GIT
  • Example
  • 에러

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

소프트웨어/c++

c++ / 7. POD를 아십니까?

2014. 10. 2. 17:40

c++ / 7. POD를 아십니까?

( 데이터 구조, Plain old data structure )






일을 하다가 알게된 개념으로 Array를 POD와 Non POD로 만들어진 2개의 사이에서 삽질을 하다가 알게된 개념입니다.


POD 또는 PODS. 이 개념은 C언어의 Struct나 built-in-type과 동일한 메모리 구조를 갖는 object를 의미합니다.

즉 memset이나 memcpy와 같은 단순 메모리 복사가 가능한 것인데 여기서 C++의 클래스와 다른 부분입니다.



 POD의 조건은 다음과 같습니다.

1. built-in-type

2. 가상 함수가 없고 사용자 정의 할당자와 소멸자를 갖지 않은 class의 object

3. non POD를 non-static 멤버로 가지지 않은 class의 object


만약 위 조건이 만족한다면 memcpy로 struct를 찍어내듯이 값을 이동시킬 수 있습니다.

하지만 아래와 같이 c++에서 많이 사용하는 class의 모습이라면 값을 복사한다고 하여도 동일한 속성을 갖지 못합니다.

즉, 물리적인 복사의 결과가 일치하지 않아질 수 있습니다.


http://1stpasa.tistory.com/entry/PODPlain-Old-Data-Non-POD

http://gpgstudy.com/forum/viewtopic.php?t=10148&view=previous

http://blog.daum.net/shuaihan/15856295



c++ / 7. POD를 아십니까? 끝.

저작자표시 비영리 (새창열림)

'소프트웨어 > c++' 카테고리의 다른 글

[c++] snprintf, sprintf 예제  (0) 2014.11.18
2차배열 동적 할당, 교환하기 등.  (0) 2014.11.14
c++ / 6. 복사 생성사란. (+ 대입 연산자 오버로딩)  (0) 2014.09.23
c++ / 5. template를 사용해서 array만들기. - 1탄  (0) 2014.09.17
c++ / 4. inner struct, 클래스 속에 struct를 생성한 후 struct를 통해 값 전달하기  (0) 2014.08.27
    '소프트웨어/c++' 카테고리의 다른 글
    • [c++] snprintf, sprintf 예제
    • 2차배열 동적 할당, 교환하기 등.
    • c++ / 6. 복사 생성사란. (+ 대입 연산자 오버로딩)
    • c++ / 5. template를 사용해서 array만들기. - 1탄
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바