본문 바로가기
코스웨어/14년 스마트컨트롤러

20141024서상우보고서

by 알 수 없는 사용자 2014. 10. 26.
728x90
반응형

C++

cout과 endl 이해하기

void operatror<< ( ) 과  ostream operatror<<( )의 차이

void 도 한번 실행은 가능하나 연속 적으로 <<,>> 연산자를 쓰려면 참조값을 리턴 해줘야한다.


(예제)


<<,>>연산자와 오버로딩

cout은 ostream 클래스의 객체임.

ostream은 이름공간 std 안에 선언되어 있음.

이의 사용을 위해서는 헤더파일<iostream>을 포함


cout<<pos 해석

cout.operator <<(pos) 

operator <<(cout , pos)


멤버함수에 의한 방법을 선택하려면 cout 객체의 멤버함수를 하나 추가해야 하므로 ostream클래스를 정정해야 함
그러나 이는 불가능, 전역함수에 의한 방법을 택할 수밖에 없음


대입연산자의 오버로딩

얕은 복사

(문제)

얕은 복사는 하나의 실제값을 두 객체가 동시 참조하는 상황 발생

p2의 실제값의 주소 값을 잃게됨

객체 소멸과정에서 지워진 문자열을 중복 소멸하게됨


깊은 복사

(해결방법)

깊은 복사를 진행하도록 정의

메모리 누수가 발생하지 않도록, 깊은 복사에 앞서 메모리 해체 돠정을 거쳐야함

(예제)




RFID


TR-TYPE 분석


switch(ucpParam[0])                                //카드타입 추출




0번째 배열에 길이를 구해서 카드 타입을 구분

switch(ucpParam[5]&MASK_RF_TEC)        //RF_TEC추출

switch(ucpParam[5]&MASK_TYPE_NO)      //TYPE_NO추출







728x90