首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >initializer_list的隐式使用

initializer_list的隐式使用
EN

Stack Overflow用户
提问于 2015-06-22 02:50:44
回答 1查看 291关注 0票数 3

§dcl.init.list 8.5.4/2:

模板std::initializer_list不是预先定义的;如果在使用std::initializer_list之前没有包含标头<initializer_list> --即使是类型未命名的隐式用法(7.1.6.4) --程序的格式也不正确。

这是否意味着这个计划是错误的?

代码语言:javascript
复制
#include <vector>
int main() {
    // uses vector::vector(initializer_list<T>, const Allocator&) constructor
    std::vector<int> v = {1, 2, 3};
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-22 03:20:13

您的程序没有格式错误,因为<vector>保证包含<initializer_list> (对于所有标准库容器也是如此)。

§23.3.1 sequences.general

<vector> 概要

代码语言:javascript
复制
#include <initializer_list>
...

搜索#include <initializer_list>的标准会发现头部与以下标头一起包含

  • <utility>
  • <string>
  • <array>
  • <deque>
  • <forward_list>
  • <list>
  • <vector>
  • <map>
  • <set>
  • <unordered_map>
  • <unordered_set>
  • <queue>
  • <stack>
  • <algorithm>
  • <random>
  • <valarray>
  • <regex>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30971502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档