using namespace std; 这句的用处
时间: 2023-10-19 09:24:42 浏览: 44
`using namespace std;` 是一个命名空间的声明,它表示在当前作用域中使用 `std` 命名空间下的所有标识符(变量、函数等)而无需加上 `std::` 前缀。
例如,当你使用 `cout` 和 `cin` 时,这些标识符实际上是 `std` 命名空间下的标识符,所以你需要在前面加上 `std::` 前缀:
```cpp
std::cout << "Hello, world!" << std::endl;
std::string name;
std::cin >> name;
```
而如果你在代码开头添加了 `using namespace std;`,就可以直接使用 `cout` 和 `cin`,不需要加上 `std::` 前缀了:
```cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello, world!" << endl;
string name;
cin >> name;
return 0;
}
```
但需要注意的是,使用 `using namespace std;` 会导致命名空间污染(namespace pollution)的问题,即可能会引入与 `std` 命名空间中的标识符同名的标识符,导致编译错误或者意想不到的行为。因此,建议在头文件中避免使用 `using namespace`,而是在函数内部使用时单独声明需要使用的标识符。
相关问题
c++中using关键字
`using`关键字在C++中有多种用途:
1. 命名空间别名:`using namespace std;`,这行代码的作用是将`std`命名空间中的所有符号引入当前作用域,可以直接使用`cout`、`cin`等符号,而不用写`std::cout`、`std::cin`。
2. 类型别名:`using myint = int;`,这行代码的作用是将`int`类型定义为`myint`,可以使用`myint`来代替`int`类型。
3. 函数指针别名:`using func_ptr = void (*)(int);`,这行代码的作用是将`void (*)(int)`类型定义为`func_ptr`,可以使用`func_ptr`来代替函数指针类型。
4. 模板别名:`template<typename T> using myvector = std::vector<T>;`,这行代码的作用是将`std::vector<T>`模板定义为`myvector<T>`,可以使用`myvector<T>`来代替`std::vector<T>`模板。
总之,`using`关键字的作用是为了简化代码,提高代码的可读性和可维护性。
#include<bits/stdc++.h> using namespace std; int main() { int num,i,j,t,k; cin>>num; vector<string> line(num); cin.ignore(); for(i=0;i<num;i++) { getline(cin,line[i]); } cin>>k; int temp[k]; for(i=0;i<k;i++) { cin>>t; temp[i]=t; } for(i=0;i<k;i++) { for(j=0;j<num;j++) { if(line[j][17]-'0'==temp[i]) { cout<<line[j].substr(0,17)<<line[j][19]<<endl; } } } }
这段代码是一个简单的C++程序,它的功能是从输入中读取一些字符串并进行一些处理。首先,它会读取一个整数num,表示接下来要输入的字符串的数量。然后,使用循环读取num个字符串,并将它们存储在名为line的vector中。接下来,它会读取一个整数k,表示要查询的次数。然后,使用循环读取k个整数,并将它们存储在名为temp的数组中。
最后,使用两个嵌套循环进行查询。外层循环遍历temp数组中的每个元素,内层循环遍历line数组中的每个字符串。如果line[j]的第18个字符转换为整数等于temp[i],则输出line[j]的前17个字符和第19个字符。
请注意,在读取num后,使用了cin.ignore()来忽略掉输入流中的换行符,以便正确读取后续的字符串。
这段代码可能是用于处理一些特定格式的数据,但没有提供足够的上下文信息来确定确切的用途。如果您有更多的问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)