本文介绍了关于“C 11中与动态数组相关的新特性”的知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
使用初始化列表初始化
像普通数组一样,动态数组可以用初始化列表初始化。代码如下:
毕竟不是数组
我猜它被称为动态数组有两个原因。一是它的内存是动态分配的,二是它可以像数组一样使用:
但是动态数组和数组还是有一些区别的。例如,编译器不能从数组名称中知道数组的大小信息。以下代码将无法正常工作:
同样,不支持C 11中引入的范围。以下代码将直接生成编译错误:
一个有趣的例外
然而,这有一个例外。当动态应用的对象数组的内存释放后,如果需要调用析构函数,编译器会将动态数组的大小信息保存在动态数组的前面。例如,以下类:
动态分配内存后,您可以获得数组的大小,如下代码所示:
值得注意的是,这种方法可能依赖于编译器的实现,所以笔者不能保证所有编译器都能正常工作。
这里介绍一下“C 11中与动态数组相关的新特性是什么”的内容。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116966.html