在include指令中使用尖括号和引号有什么区别?

#包括<文件名>#包括“文件名”


当前回答

#include <filename>

当您想使用C/C++系统或编译器库的头文件时使用。这些库可以是stdio.h、string.h、math.h等。

#include "path-to-file/filename"

当您希望使用自己的自定义头文件(位于项目文件夹或其他位置)时使用。

有关预处理器和标头的详细信息。读取C-预处理器。

其他回答

#include <filename>

当您想使用C/C++系统或编译器库的头文件时使用。这些库可以是stdio.h、string.h、math.h等。

#include "path-to-file/filename"

当您希望使用自己的自定义头文件(位于项目文件夹或其他位置)时使用。

有关预处理器和标头的详细信息。读取C-预处理器。

#include <file> 

包含默认包含目录所在的文件。

#include "file" 

在编译文件的当前目录中包含文件。双引号还可以指定到其他位置的完整文件路径。

#include "filename" // User defined header
#include <filename> // Standard library header.

例子:

这里的文件名是Seller.h:

#ifndef SELLER_H     // Header guard
#define SELLER_H     // Header guard

#include <string>
#include <iostream>
#include <iomanip>

class Seller
{
    private:
        char name[31];
        double sales_total;

    public:
        Seller();
        Seller(char[], double);
        char*getName();

#endif

在类实现中(例如,Seller.cpp,以及将使用文件Seller.h的其他文件中),现在应该包含用户定义的头,如下所示:

#include "Seller.h"

<和>之间的字符序列唯一地引用标头,而标头不一定是文件。实现可以随意使用字符序列。(不过,大多数情况下,只需将其作为文件名,并在include路径中进行搜索,正如其他帖子所述。)

如果使用#include“file”表单,则实现首先查找给定名称的文件(如果支持)。如果不支持(受支持),或者搜索失败,那么实现的行为就像使用了另一个(#include<file>)表单一样。

此外,存在第三种形式,当#include指令与上述任何一种形式都不匹配时,将使用第三种。在这种形式中,对#include指令的“操作数”进行了一些基本的预处理(如宏扩展),结果预计将与其他两种形式中的一种匹配。

#include<>用于预定义的头文件

如果头文件是预定义的,那么您只需将头文件名写在尖括号中,它看起来像这样(假设我们有一个预定义的头文件名iostream):

#include <iostream>

#include“”表示程序员定义的头文件

如果你(程序员)编写了自己的头文件,那么你会将头文件名用引号括起来。因此,假设您编写了一个名为myfile.h的头文件,那么这是如何使用include指令包含该文件的示例:

#include "myfile.h"