Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c/c++;通过指针进行最快可移植访问的数据类型?_C++_C_Pointers_Primitive Types - Fatal编程技术网

C++ c/c++;通过指针进行最快可移植访问的数据类型?

C++ c/c++;通过指针进行最快可移植访问的数据类型?,c++,c,pointers,primitive-types,C++,C,Pointers,Primitive Types,我需要实现一个大的动态多维位图(如位图),速度和可移植性都很重要。我的第一个选择是int(doh!),但是可能long或者long或者甚至char更好?我认为你不应该太麻烦,细节取决于编译器、优化标志和处理器 不要忘记,过早优化是邪恶的 如果您真的在意,请将代码设置为下划线整数类型的模板,或者使用typedef来命名它。您可能需要查看以下答案:它指出最快的类型取决于处理器体系结构。因此,在32位体系结构上,32位整数速度最快,而在64位体系结构上,32位整数速度最快。要寻找的答案是Stephen

我需要实现一个大的动态多维位图(如位图),速度和可移植性都很重要。我的第一个选择是
int
(doh!),但是可能
long
或者
long
或者甚至
char
更好?

我认为你不应该太麻烦,细节取决于编译器、优化标志和处理器

不要忘记,过早优化是邪恶的


如果您真的在意,请将代码设置为下划线整数类型的模板,或者使用typedef来命名它。

您可能需要查看以下答案:它指出最快的类型取决于处理器体系结构。因此,在32位体系结构上,32位整数速度最快,而在64位体系结构上,32位整数速度最快。要寻找的答案是Stephen Canon的答案每个平台(硬件和编译器)都有点不同,因此很难确定一种数据类型比另一种更可取。也就是说,除了说最好使用与平台相同位大小的数据类型。这就是为什么我喜欢创建一个单独的types.h文件,在其中为当前平台定义自己的数据类型。例如,我将对每种数据类型执行如下操作:

#if defined(INT8)
#undef INT8
#endif
#define INT8 char

跨哪些平台的可移植性?不同的字长?不同的指令集?不同的编译器供应商?不同的词尾?太模糊了,不是一个真正的问题。这是C还是C++?你可以期待<代码>长Lo/<代码>和<代码> char < /C> >要慢一些。在哪些平台上实现可移植性?win/*nix(sunos、macos、linux)/异国情调(嵌入式*nix)不同的字长?是的,不同的指令集?是的,不同的编译器供应商?是的,不同的词尾?是的,可能的副本