变长数组和 alloca

定义:
变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。

优点:
变长数组具有浑然天成的语法,变长数组和 alloca() 也都很高效。

缺点: 变长数组和 alloca() 不是标准C++的组成部分,更重要的是,它们在堆栈( stack)上根据数据分配大小可能导致难以发现的内存泄漏: “在我的机器上运行的好好的,到了产品中却莫名其妙的挂掉了”。

结论:
使用变长数组和 alloca(),如果确实有需要,使用安全的分配器( allocator) ,如 scoped_ptr / scoped_array。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容