前言
這一篇文章我們要來討論一個小東西,
因為我是從 Python 過來的,在 Python 裡面如果沒有經過特別設計,
我們通常在一個新的檔案都要重新 import package。
但這個邏輯,在 C++ 似乎不是這個樣子…
Python 範例
我們直接來看例子吧!
注意下面的 file1.py ,我們必須要重新 import os,程式才能夠正常的執行
# file1.py
import file2
os.system("pwd") # NameError: name 'os' is not defined, need import os
# file2.py
import os
C++ 範例
一樣的,我們直接來看例子吧!
但 C++… 似乎不是這樣
注意下面的 file1.cpp ,我們「不必」重新 incluide
程式都能夠正常的執行!!!
// file1.cpp
#include "file2.cpp"
int main(){
cout << "file1 with no include iostream and using namespace std." << endl;
return 0;
}
// file2.cpp
#include <iostream>
using namespace std;
就是這一點,讓剛剛從 Python 回來 C++ 的我,非常的不習慣XDD
雖然自己在撰寫 C++ 程式的時候,重複的 include 並不會影響程式運行
但一方面是 trace code 的時候沒辦法直接從同一份檔案找到 library 有些不習慣 (有時候要找 class 定義)
另外就是自己在寫 C++ 程式的時候,也要讓自己盡量去配合這個習慣,不然寫出來的程式,感覺會很囉唆許多?