728x90
300x250
[C++] C++ Template Class 헤더 분리

 

Template Class를 헤더로 분리하는 방법은. inl 파일로 분리해서 하는 방법이 있다.
대형 3D엔진에서는. inl이란 파일 형식으로 CPP 파일 대신해서 사용한다.
사실 템플릿 함수 자체가 함수를 만들어내는 임무를 수행하고 있다.

 

일반 함수 원형의 경우,

int hama(int a, int b)

{

       a + b

}

 

이런 꼴이라고 가정하면

템플릿 자료형(int, char 등..) hama(템플릿 자료형 a, 템플릿 자료형 b)

{

     a + b;

}

 

이런 식으로 함수 원형 틀은 그대로 두되 자료형을 자유롭게 바꿔낼 수 있다.

Header라는 영역에서밖에 못 사용하는 것도 아무래도 이러한 이유가 있기 때문에 그러지 않을까 생각한다.

결론은 분리하는 방법은 편법답게 하는 방법이 있는데,
첫 번째로, header를 header 1, header 2로 분리하는 방법

 

헤더 1이에요

class 헤더1{

 

}

 

#include "헤더1.h"

 


두 번째로, header를 inl으로 맨 하단에 #include를 시키는 방법이 될 수 있다.

 

나 헤더

 

class 멍청한클래스{

 

}

 

#include "aaa.inl"

 

/// aaa.inl

구현 하시죠.ㅋㅋㅋ

 

그냥 실험하는 목적이거나 단순한 거면, 헤더 파일 하나에 몰아넣는 게 정신건강에 이롭지 않나 생각한다.

반응형
728x90
300x250

[PC활용] 프로그래밍 도구 - Dev C++


Dev CPP?

Dev C++는 C, C++언어를 사용할 수 있는 IDE 프로그래밍 도구입니다.

한글버전도 지원하고 있는 공개프로그램입니다.

 

 


1. 프로그램 소개

 

 


2. 첨부(Attachment)

 

devcpp-4.9.9.2.zip


- GNU/GPL 적용


3. 참고자료(Reference)


1. Dev-C++, https://sourceforge.net/projects/orwelldevcpp/
2. Bloodshed Software - Dev-C++, http://www.bloodshed.net/devcpp.html

반응형
728x90
300x250
[C++] Swap 구현

int main()
{
     int num1 = 20, num2 = 30; 
     swap(&num1, &num2);
     std::cout << num1 << " " << num2 << std::endl;

     char ch1 = 'a', ch2 = 'z';
     swap(&ch1, &ch2);
     std::cout << ch1 << " " << ch2 << std::endl;

}

출력 결과
30 20
z a

Q) 위에 해당하는 함수를 구현하시오.
반응형
728x90
300x250

[C++] Hello World 만나보기

실습 환경: Visual Studio.NET 2010

#include <iostream>

int main()
{
     std::cout<<"Hello World"<<std::endl;
     std::cout<<"Hello"<<" " << "World"<<std::endl;
}

std::

std라는 라이브러리를 불러옵니다.
cout는 std에 종속되어 있는 라이브러리입니다. IE(인텔리젠스) 기반에서 자동으로 올라온다.
printf 문과 같은 역활을 수행하는 예제입니다.

반응형
728x90
300x250
[C++] 입출력 - 표준 출력

언어를 공부하면서 가장 먼저 접하는 것은 바로 표준 입출력을 통한 데이터의 I.O(Input Output)을 수행하는 과정일 것입니다.
그만큼 표준 입출력은 언어를 이용함에 있어서 가장 중요한 부분이자, 얼마만큼이나 사용하기 편리하고 높은 퍼포먼스를 보여주냐가 언어의 관건이
될수 있겠습니다.


C++언어에서는 버퍼를 통한 표준 입출력을 cout, cin을 이용해서 수행할 수가 있습니다.

cout, cin의 맨 앞자는 character를 뜻하는 것으로 문자의 I.O의 전반을 다룬다는 의미로 볼수가 있습니다.
이들 표준 입출력을 위한 전역 개체는 각각 istream과 ostream 헤더에서 정의된 것으로 C 스타일 함수군보다 I.O가 직관적이고, 안전하게 수행할 수 있도록 도와준다고 할수 있습니다.

따라서 인자를 전달하거나 할 때 cout, cin을 복사하지 않도록 주의하시기 바랍니다.

1. 표준 출력
cout은 <iostream>에 선언되어 있는 표준 출력을 담당하는 전역 개체입니다.
이 개체는 char타입으로 데이터를 출력하는 ostream 클래스의 인스턴스로 표준 출력 장치에 연결되어 출력 업무를 수행합니다.(Buffered I/O)

[예제]

#include <iostream>

using namespace std;

int main()
{

    cout << "This is Wresting\n";
    const char *k = "Wresting";
    cout << "This is " << k << '\n';

}


출력 : This is Wresting
         This is Wresting
반응형
728x90
300x250

[GNU - C, C++] Dev C++ 5.0 - IDE

Visual Studio처럼 IDE로서 프로그래밍 공부하시는데 사용하시면 됩니다.

[첨부(Attachment)]
devcpp-4.9.9.2_setup.7z

Dev C++ 사용방법

사용자 삽입 이미지


1. 파일에서 프로젝트를 클릭합니다.

사용자 삽입 이미지


2. 검은색으로 메모해둔 내용을 클릭하고 조건을 입력한 후에 확인을 누릅니다.

사용자 삽입 이미지


3. 코드를 입력후에 단축키 'F9'를 누르거나 '실행 메뉴'에서 '컴파일 후 실행'을 클릭합니다.


DEV C++를 사용할 때 알아두면 좋아요

문법 공부할 때 프로그램이 켜지자 마자 종료 될때...

system("PAUSE");
라고 명령어를 입력합니다.
반응형

'소프트웨어(SW) > GNU - C, C++' 카테고리의 다른 글

[C언어] 포인터 연산  (0) 2009.05.13
[C언어] 포인터에 익숙해지는 방법은...  (0) 2009.05.13
[C언어] 포인터 개념의 이해  (0) 2009.05.13
연산자와 C언어  (0) 2009.03.30
C언어 입문의 시작  (0) 2009.03.20
728x90
300x250

[연산자와 C언어]

[논리식]
OR 연산자 : ||
AND 연산자 : &&
부정 연산자 : !

[비교식]
> : 크다
< : 작다
<= : 작거나 같다.
>= : 크거나 같다.

== : 같다.
!= : 같지 않다.


1. 연산자 - 소스코드

#include <Stdio.h>

main()
{
     
      // 기초논리회로 실습 (정정: 논리회로->연산자)
      
      int b1, b2, b3, b4;
     
      b1 = 10;
      b2 = b1 || 5>10;
      b3 = b1 && 5>10;
      b4 = !b3;     

      printf("B1 %d\n",b1);
      printf("B2 %d\n",b2);
      printf("B3 %d\n",b3);
      printf("B4 %d\n",b4);
     
}



 

반응형

+ Recent posts