试图更好地理解C大括号初始化语法

试图更好地理解C大括号初始化语法,第1张

概述为什么下面的代码是非法的? for (int index=0; index<3; index++){ cout << {123, 456, 789}[index];} 虽然这很好: for (int value : {123, 456, 789}){ cout << value;} IDEOne中的代码:http://ideone.com/tElw1w 虽然std :: i 为什么下面的代码是非法的?

for (int index=0; index<3; index++){    cout << {123,456,789}[index];}

虽然这很好:

for (int value : {123,789}){    cout << value;}

IDEOne中的代码:http://ideone.com/tElw1w

解决方法 虽然std :: initializer_List不提供operator [],但它确实有begin()和end()的重载,这是基于使用的范围.实际上,您可以索引到像 this这样的initializer_List:

for (int index=0; index<3; index++)    {        cout << begin({123,789})[index];    }
总结

以上是内存溢出为你收集整理的试图更好地理解C大括号初始化语法全部内容,希望文章能够帮你解决试图更好地理解C大括号初始化语法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存