我写了一个冒泡排序的单独的模块,实现使用了2个函数:1、冒泡排序的逻辑实现,2、swap交换函数。显然我并不想对这个模块的使用者提供swap函数,而只让别人使用排序函数就够了。于是我把swap函数修饰为static ,那么我的swap函数需要在头文件中声明吗?
没有C币了不好意思。。。
/*sort.cpp*/
#include"sort.h"
static void swap(int &a, int&b)
{
int t = a;
a = b;
b = t;
}
void bubble_sort(int arr[], int len)
{
for (int i = 0; i < len - 1; ++i)
{
for (int j = 0; j < len - 1 - i; ++j)
{
if (arr[j]>arr[j + 1])
swap(arr[j], arr[j + 1]);
}
}
}
/*one.h*/
#ifndef _SORT_H_
#define _SORT_H_
void bubble_sort(int arr[], int len);
static void swap(int &a, int&b); //这个声明需要加上吗?
#endif