iT邦幫忙

1

C++有標準函式庫STL,那其它語言的函式庫也可以叫做STL嗎?

小馬第一次發問,請大家多多指教。
小馬對「STL」(Standard Template Library)這個名詞有點疑惑,
希望大家解惑。
在學習c++的時候,常會聽到說STL是c++好用的工具庫,
例如vector, stack, queue, set, map都屬STL的容器,
或是像標頭檔<algorithm>也算是一種STL。

但是其它程式語言中也有很多函式庫,
好像就沒聽到這個名詞。
想問說其它程式語言的內建(或擴充)函式庫可以算是STL的一種嗎?
還是說STL是c++特有的函式庫?
例如c有<stdio.h>算是STL嗎?
java有容器ArrayList算是STL嗎?
python有擴充函式庫numpy算是STL嗎?
還請高手解惑了,感謝~

2 個回答

4
一級屠豬士
iT邦高手 1 級 ‧ 2019-07-27 17:43:47
最佳解答

C++ 還有 Boost C++ Libraries
C 有 Standard Library , stdio.h 是其中一部分
Java 有自己的
NumPy 是 Python的延伸Library , 可以說是 SciPy 的重要組成. https://scipy.org/
這些跟 STL 算是各自獨立.

另外 c 的 stdio.h 要是算到STL 裡面,那就是大大的誤解了. C 的誕生比 C++早.
STL 又是在C++ 之後.
STL 是很重要,但用C++ ,也是可以不用STL的,他不是 standard library的地位.別被那個 STL (Standard Template Library)的Standard 誤解了, C++ 另有 C++ Standard Library.
http://libcxx.llvm.org/

你是看到什麼奇怪的STL介紹,說的好像是一切的基礎似的,這有點誇張了.有些文件寫的太過了.
那些東西沒什麼好再看,終究要回歸正統的道路上來.吸引眼球的網路文章,不如正統的看官方文件.

感謝 一級屠豬士 邦友細心回答,講的蠻清楚的。

0
黃彥儒
iT邦高手 1 級 ‧ 2019-07-27 15:28:07

C++之於STL
=燒餅之於油條
=前端之於jquery

所以你會把油條叫做STL嗎?
我會將他稱為「事實標準」,就是固定搭配的意思

許永平 iT邦新手 5 級 ‧ 2019-07-27 17:27:51 檢舉

通常稱STL應該就是指c++的

fillano iT邦超人 1 級 ‧ 2019-07-27 17:42:48 檢舉

PHP有SPL(Standard PHP Library),名字有點像XD

我要發表回答

立即登入回答