gpt4 book ai didi

c++ - 为什么这段代码在没有 vector 头文件的情况下运行?

转载 作者:行者123 更新时间:2023-12-02 01:47:44 30 4
gpt4 key购买 nike

我不明白为什么下面的代码在不包含 vector 头文件的情况下在我的本地系统上运行良好,但在在线法官或在线编译器上却不能。

#include<iostream>
#include<algorithm>

using namespace std;

int main(){
vector<int> v(10);
for(int i = 0; i<10; i++) v[i] = i;
sort(v.begin(),v.end());
for(int i = 0; i<10; i++) cout<<v[i]<<" ";
return 0;
}

我通过启用警告标志来编译代码 g++ -Wall -Wextra ./ex.cpp但 g++ 根本没有给我任何警告。删除#include<algorithm>确实给了我我想要的错误,identifier "vector" is undefined ,但我不知道他们之间有什么关系。

最佳答案

您的算法 header 本身包含 vector header (直接或间接)。因此,预处理器之后的代码看起来与您自己包含 vector 头一样。

不过,您不应该依赖此行为,因为它取决于您正在使用的标准库实现,并且可以随时更改。

关于c++ - 为什么这段代码在没有 vector 头文件的情况下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70698805/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com