유돌이

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Notice

'C/C++/MFC'에 해당되는 글 33

  1. 2008.12.30 const 사용법
  2. 2008.12.30 C프로그래밍 별모양~
  3. 2008.12.30 BHO 란?
2008. 12. 30. 23:12 C/C++/MFC
const에 대해 정리해봤습니다. 약간 불명확한 부분이 있을수도 있겠네요.

const는 변수, 포인터형, 참조형, 함수, 클레스 등에 붙을수 있음.

1. 변수
예)
    const i = 100;
i 값 변경불가

2. 포인터형 : 기본적으로 2가지 형태가 있을 수 있음. 그외 여려형태가 가능
예1) 값은 변경 불가능하지만 주소는 변경가능한 형태
    int temp = 100, temp2 = 200;
    const int *ipConst = &temp;  // *ipConst 값 변경 불가, ipConst(주소)값은 변경가능
    // int const *ipConst = &temp;  // 이런형태로 써도 위와 같은 의미

    // *ipConst = 300;   // 불가능한 형태
    ipConst = &temp2;  // 가능한 형태

예2) 주소는 변경 불가능하지만 값은 변경가능한 형태
    int temp = 100, temp2 = 200;
    int * const iConstp = &temp;  // *iConstp 값 변경 가능, iConstp(주소)값은 변경불가

    *iConstp = 300;   // 가능한 형태
    //iConstp = &temp2;  // 불가능한 형태

주의 : const가 결합되는 위치가 값인지 주소인지에 유의


3. 참조형
예1) 직접적으로 값과 주소 모두 변경 불가능하지만 참조 원본을 통한 값변경은 가능한 경우
   int temp3 = 100, temp5 = 200;
   int const &ircVal = temp3;  
  
   //ircVal = 2000; // 컴파일 에러 발생 (const 참조는 값 변경불가)
   //ircVal = temp5;  // 주소도  변경불가
   temp3 = 9000;  // 참조 원본은 변경가능, 결과적으로 ircVal의 값도 변하게됨
    

예2) 직접적으로 값과 주소 모두 변경 가능하지만 참조가 가르키는 값은 변화가 없는경우
    int temp4 = 300, temp5 = 500;
    int & const icrVal = temp4;

    icrVal = 6000;  // 값변경 가능, 하지만 값에 변경이 안됨  
    cout << " icrVal " << icrVal << endl;  // 여전히 300이 찍힘
    icrVal = temp5; // 주소도 변경가능 역시 값에 변경이 안됨
    cout << " icrVal " << icrVal << endl;  // 여전히 300이 찍힘

4. 함수 : class의 멤버함수인 경우만 const 함수 사용가능. 해당 class의 멤버변수를 변경할수 없음.
예)
class ConstTest
{
public:
        int m_iA;

        ConstTest()
        {        m_iA = 1;           }
        int const_func1( int &a_iA,  int &a_iB) const
        {
                int a = 1;
                int b = 2;
                int c = 0;

                c = a + b;
                a_iA += 100;  
                // m_iA += 100; // 에러발생. 멤버변수는 변경 불가  
                return m_iA;
        }
};
                

5. 클레스
예)
  const CMyConstClass CC;  
  
  // 내부 멤버변수 전체를 변경불가능한 클레스,(생성자 함수만은 예외)
  // 모든 내부 멤버 함수는 기본적으로 const 함수가 되야만함.
  // 내부 함수의 지역 변수및 인자로 받은 변수는 변경가능.

'C/C++/MFC' 카테고리의 다른 글

MFC (디바이스 컨텍스트와 관련 클래스)  (0) 2008.12.30
윈도우즈와 메시지  (0) 2008.12.30
API 기초??  (0) 2008.12.30
C프로그래밍 별모양~  (0) 2008.12.30
BHO 란?  (0) 2008.12.30
posted by 유돌이
2008. 12. 30. 23:11 C/C++/MFC

하드 코딩 ㅡㅡV

 

#include<stdio.h>

main()
{
 int num, over, star;

 for(over=1; over<=3; over++){
  for(num=9;num>=over; num--){
   printf(" ");
  }
  for(star=1; star<=over*2-1; star++){
   printf("*");
  }
  printf("\n");
 }
 for(over=0; over<=2; over++){
  for(star=19; star>=over*2; star--){
   printf("*");
  }
  printf("\n");
  for(num=0; num<=over; num++){
   printf(" ");
  }
 }
 for(over=3; over>=1; over--){
  for(star=19; star>over*2; star--){
   printf("*");
  }
  printf("\n");
  for(num=2; num<=over; num++){
   printf(" ");
  }
 }
 for(over=3; over>=1; over--){
  for(num=9;num>=over; num--){
   printf(" ");
  }
  for(star=1; star<=over*2-1; star++){
   printf("*");
  }
  printf("\n");
 }
}


'C/C++/MFC' 카테고리의 다른 글

MFC (디바이스 컨텍스트와 관련 클래스)  (0) 2008.12.30
윈도우즈와 메시지  (0) 2008.12.30
API 기초??  (0) 2008.12.30
const 사용법  (0) 2008.12.30
BHO 란?  (0) 2008.12.30
posted by 유돌이
2008. 12. 30. 23:10 C/C++/MFC

[BHO - Browser Helper Object]

 

인터넷 익스플로러를 손쉽게 제어할 수 있는 DLL 파일.

 

인터넷 익스플로러를 시작할 때마다 생겨나 메모리를 공유하고

브라우저 창과 모듈에 어떠한 지시라도 할 수 있는 객체이다.

 

이벤트를 감지하여 띄워진 페이지에 추가 정보를 보여주기 위해 브라우저 창을 만들고,

메시지와 작업을 감시할 수도 있다. 또한 다른 브라우저 침투에 의한 배너 광고 변경,

페이지 감시 및 보고, 홈 페이지 변경 등 스파이 기능도 있다.

'C/C++/MFC' 카테고리의 다른 글

MFC (디바이스 컨텍스트와 관련 클래스)  (0) 2008.12.30
윈도우즈와 메시지  (0) 2008.12.30
API 기초??  (0) 2008.12.30
const 사용법  (0) 2008.12.30
C프로그래밍 별모양~  (0) 2008.12.30
posted by 유돌이
prev 1 2 3 4 next