【发布时间】:2011-06-02 08:32:54
【问题描述】:
我正在从一个文件中读取值,我将在读取它们时将其存储在内存中。我在这里读到,在 C++ 中处理内存位置的正确方法是始终使用 new/delete,但是如果我愿意:
DataType* foo = new DataType[sizeof(DataType) * numDataTypes];
然后这将为每个创建的实例调用默认构造函数,我不希望这样。我打算这样做:
DataType* foo;
char* tempBuffer=new char[sizeof(DataType) * numDataTypes];
foo=(DataType*) tempBuffer;
但我认为这将是某种类型不安全的东西。那我该怎么办?
现在在研究这个问题时,我看到有些人说数组不好,向量好。我试图更多地使用数组,因为我认为我是一个坏孩子,用(我认为的)较慢的向量填充我的程序。我应该用什么???
【问题讨论】:
-
来吧,你在担心效率,而你的第一行代码不正确!
-
如果您没有性能问题,您应该选择最简单、最安全的解决方案
标签: c++ memory-management