1
昨天我收到了一個有趣的問題。我在Linux上有一些C++代碼,我可能會給一個Android團隊。他們問我是否可以省略STL的使用。這導致瞭如何在C++代碼中檢測STL的使用的通用問題?在C++中檢測STL的使用情況
我最好的解決方案,最有可能不是最好的解決方案是搜索下面的頭文件,刪除它們並編譯。
#include <vector>
#include <deque>
#include <list>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <iterator>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <numeric>
#include <functional>
#include <utility>
#include <memory>
更好的解決方案?
你可以嘗試在你的項目中搜索'std'。要麼你會發現'using namespace std',在這種情況下,刪除這些語句會導致stl類型的任何聲明出錯,或者你會發現顯式的'std :: class'變量聲明。 – computerfreaker
「STL」的含義尚不清楚。這是一個不完整的標題列表。你是否只想使用c風格的頭文件,比如'cstdio'而不是'iostream',即使它不在列表中?爲什麼你需要事後刪除這些標題?爲什麼不禁止程序員使用它並檢查代碼?如果代碼在沒有頭文件的情況下編譯失敗,那麼只有刪除頭文件纔有用? – 2014-02-24 06:27:00
他們解釋了他們對STL的含義嗎?它是來自STL的C++標準庫的子集嗎?這是真正的STL嗎?或者它是C++標準庫? – juanchopanza