何必用贵重的明代花瓶玩杂耍呢?
-
不要使用C风格的数组,指针运算和内存管理原语操作实现数组抽象;使用vector或者string不仅更轻松,而且有助于编写更安全,伸缩性更好的软件。
-
在当今软件中缓冲区溢出和安全缺陷是罪魁祸首。固定长度的数组所带来的愚蠢限制,即使任在正确界限内,也是软件开发人员的一大困扰。
-
替代理由如下:
-
他们能够自动管理内存;
-
他们具有丰富的接口;
-
他们与C的内存模型兼容;
-
他们能够提供更大范围的检查;标准设施所能实现的(在调试模式下)迭代器与索引操作符,能够暴露很大范围类型的内存错误;
-
他们支持上述特性并未牺牲太多效率;实时上,在发行模式下,如果效率和安全性不能兼得的话,vector和string更注重效率;
如果编译时数组大小就是固定的,则也可以考虑使用数组;