markdown 함수의활용

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 함수의활용相关的知识,希望对你有一定的参考价值。

# 함수의 활용

## 함수 템플릿

```c++
template <class T>  // ;를 붙이지 않는다
```
- 템플릿은 오버로딩이 가능하다.
- 명시적 특수화(explicit specialization)
```c++
// job 형에 대한 명시적 특수화, Swap<job>에서 <job>은 생략 가능
template <> void Swap<job> (job &, job &);
template <> void Swap(job &, job &);
```

- 명시적 구체화: 컴파일러가 특정 데이터 형에 맞는 함수 정의를 생성하기 위해 템플릿을 사용할 때, 그 결과를 템플릿의 구체화라고 함.

### 예시
```c++
template <class T>
void Swap(T &, T &);    // 템플릿 원형

template <> void Swap<job> (job &, job &);  // job형에 대한 명시적 특수화

int main()
{
    // char를 위한 명시적 구체화
    template void Swap<char>(char &, char &);
    
    double u, v;
    Swap(u, v);     // 암시적 템플릿 구체화 사용
    
    job a, b;
    Swap(a, b);     // 명시적 특수화 함수 사용
    
    char g, h;
    Swap(g, h);     // char를 위한 명시적 템플릿 구체화 사용
}
```

## 함수 포인터
```c++
double pam(int);
double (*pf) (int); // 여기서 pf는 하나의 int를 매개변수로 하고 double형을 리턴하는 함수를 지시함

pf = pam;

double x = pam(4);
double y = (*pf) (5);
double z = pf(5);      // 전부 같다; c++은 pf도 포인터로 간주한다
```

以上是关于markdown 함수의활용的主要内容,如果未能解决你的问题,请参考以下文章

markdown 가상함수와순수가상함수

markdown const멤버함수

markdown 함수링크

markdown 함수#python #tutorial

markdown 함수호출규약(Calling Convention)

markdown 클래스와객체,모듈의사용시기#python