这是一个最佳实践问题。我正在制作一个数组
type * x = malloc(size*sizeof(type));
AFAIK sizeof 给出了 size_t 的返回值。这是否意味着我应该使用 size_t 来声明或传递大小?另外,在索引数组时,我还应该使用 size_t 作为索引变量吗?这些的最佳实践是什么?这不是他们在学校教过的东西,现在我正在认真学习 C++,我想知道。
此外,如果有人提到我可以在哪里找到此类内容的最佳实践,那将会有所帮助吗?一种程序员礼仪书籍。
编辑: malloc 应该是 cudaHostAlloc 或 cudaMalloc,因为我正在开发一个在设备和主机上同时存储数组并同时更新两者的类。所以这里的 malloc 只是我实际要做的事情的占位符。
最佳答案
一般来说,我会使用尽可能减少隐式或显式转换和警告错误数量的方法。一般来说,事物按原样输入是有充分理由的。 size_t
是数组索引的不错选择,因为它是 unsigned
并且您通常不想访问 myarray[-1]
,例如。
顺便说一句,因为这是 C++,你应该改掉使用 malloc
(free
) 的习惯,它是 CRT(C 运行时库)的一部分。使用new
(delete
),最好使用smart pointers以尽量减少手动内存处理。
一旦您掌握了基础知识,一个好的实践引用(特定于语言)是 Effective C++ by Scott Meyers .合乎逻辑的下一步是 Effective STL .
关于c++ - 我应该为索引变量使用什么类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035112/