gpt4 book ai didi

c# - 包含语句 : c++

转载 作者:行者123 更新时间:2023-11-28 00:29:53 26 4
gpt4 key购买 nike

好的,我得到了几行代码

#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "windows.h"

环境是visualstudio 8,正在学习OOP..

What I know so far is (From my previous background of learning so far)

  • 使用#include<iostream>将搜索文件 iostream.h在标准包含库
  • 使用#include"myHeader.h"将搜索文件 myHeader.h在执行文件所在的目录下,如果没有找到,则去标准包含库中查找

基于此,我很困惑,我的问题是

  1. 为什么每个标题都使用引号?我相信 qoutes 属于存在执行代码的本地目录的 header 。而这些文件位于标准 lib include 文件夹中?
  2. 我应该在什么地方使用 qoutes,在什么地方不应该使用?
  3. 我可以看到带有几个文件的 .h 扩展名,但看不到它其他人……为什么这样??

感谢您提出这些愚蠢的问题..但很困惑..:(甚至阅读不同的来源也让我更加困惑,

编辑

基于第一个答案,

请指导我在我的案例中包含头文件的正确和最佳方式(序列、Qoutes 和放置 .h)

附言不知道为什么,但这些文件正确包含,并且在编译器(visual studio 8)中没有给出错误

最佳答案

逐一分析您的问题:

  1. 因为编写此代码的人犯了一个错误 - 当使用引号路径而不是尖括号时 search order is suboptimal对于库标题。您的每个示例都应该改用尖括号。

  2. 无论何时使用库,都应使用尖括号,而在包含自己的标题时,应使用引号。两者之间的唯一区别是编译器查找文件的位置。类似的建议实际上是 C++11 标准 (16.2§7) 的一部分。

  3. 因为那些文件 do not have an extension .写的时候#include <iostream> , 编译器将搜索完全命名为 iostream 的文件! (注意:这可以在其他实现中以不同的方式实现,因为从技术上讲, header 根本不必是文件。)
    大多数人同意您自己的标题应该有一个 .h , .hpp.hh解决方案 - 哪一个取决于个人喜好,但应始终如一地使用。

关于c# - 包含语句 : c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com