谁能用通俗的含义来解释一下C++的STL究竟是什么,解决了什么问题?功能强大么?学起来内容多么?
2个回答
展开全部
STL 就是 S(标准) T(模板) L(库), 标准模板库的意思.
如名字所言, STL完全有模板组成, 包括类模板, 函数模板, 仿函数等等.
其中用到了各种C++中最精华的编程技巧, 比如模板元编程..
1) 解决了什么问题?
包含了几乎全部的通用算法和容器.
std::vector<> 动态数组
std::list<> 链表
std::map<> 关联容器
以及大量的搜索排序算法. 但是也还有些内容没有包含进去, 比如说哈希表和正则表达式
2) 功能强大么?
STL的设计原则是 "高效第一, 安全第二", 效率自然是极高的, 安全性么看你的要求了.
3) 学起来内容多么?
不多, 因为设计上的一致性, STL算法和容器基本上使用统一的接口和原则, 也就是说只要看到函数的名字大概就可以知道功能和注意事项了...偶尔会需要翻翻手册查一下
如名字所言, STL完全有模板组成, 包括类模板, 函数模板, 仿函数等等.
其中用到了各种C++中最精华的编程技巧, 比如模板元编程..
1) 解决了什么问题?
包含了几乎全部的通用算法和容器.
std::vector<> 动态数组
std::list<> 链表
std::map<> 关联容器
以及大量的搜索排序算法. 但是也还有些内容没有包含进去, 比如说哈希表和正则表达式
2) 功能强大么?
STL的设计原则是 "高效第一, 安全第二", 效率自然是极高的, 安全性么看你的要求了.
3) 学起来内容多么?
不多, 因为设计上的一致性, STL算法和容器基本上使用统一的接口和原则, 也就是说只要看到函数的名字大概就可以知道功能和注意事项了...偶尔会需要翻翻手册查一下
追问
是说把数据结构教材的那些算法直接给你做好了让你使是么?
那是不是说以后多数应用就可以直接有这些现成的做好的东西,你只要往里面输入参数,设定条件就可以使用里面的东西了?小白一个,望解释,多谢
追答
完全没错. 全部都是大师级的人物写好的.
#icnlude // STL 算法库
using namespace std;
int main()
{
int a[] = {1, 4 , 5, 6, 7, 10}
cout << "最大数是: " << *max_element(a, a+6)<< endl;
cout << "最小数是: " << *min_element(a, a+6)<< endl;
}
max_element就是STL函数之一, 查找最大值, 参数允许是任意类型
展开全部
就是一堆 基础库,别人写好的函数和类模版神马的
包括 排序算法,迭代器,各种list,map等容器
功能不错,运行起来快而且不容易出错,比自己写那些结构好多了。
内容看你怎么用,基本上需要用到的时候直接百度搜索就好。
翻一下,看看大概找找一些书上的练习敲一遍代码用几次就掌握了。
包括 排序算法,迭代器,各种list,map等容器
功能不错,运行起来快而且不容易出错,比自己写那些结构好多了。
内容看你怎么用,基本上需要用到的时候直接百度搜索就好。
翻一下,看看大概找找一些书上的练习敲一遍代码用几次就掌握了。
追问
是说把数据结构教材的那些算法直接给你做好了让你使是么?
那是不是说以后多数应用就可以直接有这些现成的做好的东西,你只要往里面输入参数,设定条件就可以使用里面的东西了?小白一个,望解释,多谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询