1 main函数为什么有参数 分别代表什么意思
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
for(int i=0;i<argc;i++)
cout<<argv[i]<<endl;
return 0;
}
其中,argc = argument count :表示传入main函数的数组元素个数为int类型
而 argv = argument vector :表示传入main函数的指针数组,为char**类型
第一个数组元素argv[0]是程序名称并且包含程序所在的完整路径,argc至少为1,即argv数组至少包含程序名
2 std::是什么意思 起什么作用
#include <string>
#include <iostream>
#include <string.h>
int main(int argc,chqr const*argv[]){
std::string str("hello");
str.append(1,'\0');
str.append(1,'i');
std::cout<<str.size()<<std::endl;
std::cout<<str<<std::endl;
std::cout<<std.compare("hello")<<std::endl;
std::cout<<strcmp(str.c_str(),"hello")<<std::endl;
return 0;
}
std是一个类(输入输出标准),它包括了cin成员和cout成员,using name space std ;以后才能使用它的成员。
#include<iostream.h>中不存在类std,但是他又cin,out的相关函数,不需要使用命名空间了。
而第二种标准#include<iostream>,它包含了一个类,在类的使用之前要预处理一下,using namespace std;然后就可以使用
cin,cout这两个成员函数了,假设你不使用预处理(using namespace std;),麻烦加上std::cin或者std::cout再去使用它的成员函数
(头文件中存在这个类)
3 STL = Standard Template Library
STL = Standard Template Library,标准模板库。
从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。
STL现在是C++的一部分,因此不用额外安装什么。它被内建在你的编译器之内。
在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>