我正在阅读Accelerated C ++第4章:组织程序和数据。我遇到了以下代码,它被保存到名为median.cpp
的文件中:
// median.cpp file contents
#include <algorithm>
#include <stdexcept>
#include <vector>
using std::domain_error;
using std::sort;
using std::vector;
// Compute the median of a vector<double>
double median(vector<double> vec)
{
// Code for what the median function does goes here
}
然后,在后面的第67页上,作者讨论了一个像下面这样的包含守卫,它被保存到名为median.h的文件中。
#ifndef GUARD_median_h
#define GUARD_median_h
// median.h - final version
#include<vector>
double median(std::vector<double>);
//
#endif
我们是否应该在编译前将median.h
“包含”到median.cpp
,如下所示?
// median.cpp file contents
#include "median.h"
#include <algorithm>
#include <stdexcept>
#include <vector>
using std::domain_error;
using std::sort;
using std::vector;
// Compute the median of a vector<double>
double median(vector<double> vec)
{
// Code for what the median function does goes here
}
我问这是因为,在作者讨论这个主题的第4.3节中,他们没有提到某人应该如何使用median.cpp
和median.h
进行编译。