Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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++_Pointers_Pointer Arithmetic - Fatal编程技术网

C++ 使用双精度数组时的指针算术

C++ 使用双精度数组时的指针算术,c++,pointers,pointer-arithmetic,C++,Pointers,Pointer Arithmetic,所以我有一个指向一个double数组的指针,我需要做的是我们的指针算法,移动到数组中的下一个位置,但是我找不到任何关于如何操作的合适文档 这是我当前的行请记住,温度数组是一个指针数组,看起来像这个double*temperaturesArray=newdouble[daysToPrompt] 您不需要编写任何指针算术。只需使用[]运算符索引到数组中 cout << setw(10)<< counter + 1 << setw(10) <<

所以我有一个指向一个double数组的指针,我需要做的是我们的指针算法,移动到数组中的下一个位置,但是我找不到任何关于如何操作的合适文档

这是我当前的行请记住,温度数组是一个指针数组,看起来像这个double*temperaturesArray=newdouble[daysToPrompt]


您不需要编写任何指针算术。只需使用[]运算符索引到数组中

cout << setw(10)<< counter + 1
     << setw(10) << temperaturesArray[ counter ] << "\370C"
     <<setw(10) << getFahrenheit(temperaturesArray[ counter ]) <<"\370F"
     << endl;
这将进入一个循环,也包括在某个点上的++计数器

这就是数组和类似结构(如std::vector)最常用的方式

编辑:如果您的老师在某个时候任意要求使用指针算法,您有两个选择:

请注意,TemperatureArray[counter]直接转换为*TemperatureArray+计数器,因此您已经在使用指针算法,只是没有以明确的方式。你也可以做计数器[TemperatureArray]来向老师演示这一点

写入++温度数组而不是++计数器,并使用温度数组[0]或*温度数组而不是温度数组[counter]。不过,这是一种糟糕的编程实践。为你懒惰的老师感到羞耻,因为他不告诉你该做什么,或者为什么这样做也是个坏主意


正确的数组元素是TemperatureArray+计数器,正如您在代码中所做的那样。不幸的是,这只是一个指针。您需要取消对指针的引用以进行打印,或者在需要双精度值而不是指针时取消对指针的引用:

但这是违反直觉的。当您通过此赋值时,只需为数组编制索引;-

cout << setw(10) << counter + 1 << setw(10) << temperaturesArray[counter] << "\370C" << setw(10) << getFahrenheit(temperaturesArray[counter]) << "\370F" << endl;

查找任何一本体面的C++书籍中的指针撤销。它应该在那里


我被要求使用指针算法

然后是任何表达式,例如

temperaturesArray[ counter ]
可以替换为

*(temperaturesArray + counter )

对于数组,它们在功能上是相同的。

我被要求使用指针算法。遗憾的是,我不知道怎么做。我也找不到任何合适的文档,看起来不应该那么难
temperaturesArray[ counter ]
*(temperaturesArray + counter )