c++ 初始化一个指针数组且数组所有素为 null 有什么便捷写法? 多维数组这部分内容算是C++的基础知识了,由于现代C++ initializer_list(初始化列表)的引入,这部分的内容有一些少许的变化。作为程序员,知识储备也要不停地更新迭代。C++ Primer 5 Edition P125 Strictly speaking, there are no multidimensional arrays in C++. What are commonly reffered to as multidimensional arrays are actually arrays of arrays. 大意是:严格意义上,不存在什么多维数组,只有数组的数组。换句话说,对于高维数组的操作也就是围绕数组的数组进行各种花活 。 例子 上面用初始化列表,即{}里面的数据素,对二维数组arr_int~3~~x~~4~进行了初始化。4个成组,代码比较规整。 从不存在什么多维数组的角度考量,以上代码和下面的初始化操作是等价的。 分割线来了,上面是规整的初始化,那形如下面的呢? 这里要用到一个概念或者说是一个规则才能说清楚问题,这个概念就是value initialization。笔者度娘了一下,这个value initialization是从C++ 2003引入的。其大致意思就是:变量初始化时,开发人员没有明确给的数据,编译器要默认给一个。比如: – int 类型的数据初始化为0 – bool 类型的数据初始化为false – float 类型的数据初始为0.0f – 其他类型不一一列举了 因此,等价初始化结果: 扩展一下,对于2维、3维的数组,我们人类比较容易理解,并且可以用图示法表示出来,高于3维的数组就靠各位脑补了。比如,是个什么东东,可以不可以在后面随心所欲地扩展下去?留给亲去思考了 ^_^。 水平有限,欢迎指正交流;记得点赞鼓励哦~
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/25236.html