亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C ++中包含頭文件時,尖括號<>和雙引號“”之間的區別?

在C ++中包含頭文件時,尖括號<>和雙引號“”之間的區別?

C++
楊__羊羊 2019-11-05 15:48:33
在C ++中包含頭文件時,尖括號< >和雙引號有什么區別" "?我的意思是應該使用例如:包括#include <QPushButton>哪些文件,以及使用例如:#include "MyFile.h"?
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

它取決于編譯器。也就是說,通常,使用"當前工作目錄中的標頭優先于系統標頭。 <>通常用于系統頭文件。從到規范(第6.10.2節):


形式的預處理指令


  # include <h-char-sequence> new-line

在實現定義的位置序列中搜索由<和>分隔符之間的指定序列唯一標識的標頭,并用該標頭的整個內容替換該指令。實現位置是如何指定位置或標識標題的。


形式的預處理指令


  # include "q-char-sequence" new-line

導致用"分隔符之間指定序列標識的源文件的全部內容替換該指令。以實現定義的方式搜索命名的源文件。如果不支持此搜索,或者搜索失敗,則將偽指令重新讀取,就像讀取


  # include <h-char-sequence> new-line

具有與>原始指令相同的包含序列(包括字符,如果有的話)。


因此,在大多數編譯器上,使用第""一個檢查您的本地目錄,如果找不到匹配項,則繼續檢查系統路徑。使用<>開始使用系統標題進行搜索。


查看完整回答
反對 回復 2019-11-05
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

使用尖括號時,編譯器會在包含路徑列表中搜索文件。當使用雙引號時,它首先搜索當前目錄(即正在編譯的模塊所在的目錄),然后才搜索包含路徑列表。

因此,按照慣例,將尖括號用于標準包含,雙引號用于其他所有內容。這樣可以確保在(不建議)情況下,如果您具有與標準標頭同名的本地標頭,則在每種情況下都將選擇正確的標頭。


查看完整回答
反對 回復 2019-11-05
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

我不明白an implementation-defined manner=是怎么回事your local directory。是manner==,places并且place某種程度上是靜態的,而不是動態的工作目錄?因此,有一個manner用于搜索您的工作目錄的目錄嗎?

查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 590 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號