从更高级的C ++课程开始,我们必须实现一个自己的Matrix,这是第一次练习的典型。我们收到了一份工作的骨架,我只剩下一个问题了。访问类型和大小变量。
这里是一个简单的1D矩阵构造函数,有一些检查大小。
Array::Array( int xSize )
{
CHECK_MSG(xSize > 0, "Array size too small");
array_ = new real[xSize];
size_ = xSize;
}
使用size_t或unsigned int而不是int是否有意义?在阅读size_t的定义后,我倾向于使用它。然而,在许多代码中我看到的只是整个地方。它是一种类似java的编码风格吗? size_t我错过了哪些缺点?
编辑:
主要问题涉及编码风格。我完全理解size_t和(unsigned)int的区别,因为它已经在这里解释过了:unsigned-int-vs-size-t
答案 0 :(得分:1)
C ++标准库几乎肯定会使用std::size_t
来表示这种类型。
使用signed
类型显然是不可取的,理想情况下,您希望使用的类型非常适合拥有支持可迭代性的对象。
从一开始我建议你在课堂上使用typedef std::size_t MySize;
,主要是为了面向未来。那将是最明智的选择。
答案 1 :(得分:0)
任何东西的大小都可能是负面的吗?不,请使用unsigned
xSize
更明确地表达代码的意图。
如果您需要能够处理非常大的尺寸,请使用size_t
。