C++ C++;带指针的算术

C++ C++;带指针的算术,c++,pointers,pointer-arithmetic,C++,Pointers,Pointer Arithmetic,我试图补充以下内容: 我有一个双指针数组叫A,另一个双指针数组叫B,还有一个无符号整数叫C 所以我想做: A[i] = B[i] - C; 我该怎么做?我做到了: A[i] = &B[i] - C; 我认为我做得不对 编辑:我想做的是,取双指针数组的索引I处的值,并从中减去一个int,然后将结果存储到索引I处的双指针数组中。您的问题有点不清楚,但是如果a和B是指向双指针的数组,并且您想将每个指针更改为一个固定数量的C,那么,对于A中的每个元素: A[i]=B[i]-C 我应该这样做&

我试图补充以下内容:

我有一个双指针数组叫A,另一个双指针数组叫B,还有一个无符号整数叫C

所以我想做:

A[i] = B[i] - C;
我该怎么做?我做到了:

A[i] = &B[i] - C;
我认为我做得不对


编辑:我想做的是,取双指针数组的索引I处的值,并从中减去一个int,然后将结果存储到索引I处的双指针数组中。

您的问题有点不清楚,但是如果a和B是指向双指针的数组,并且您想将每个指针更改为一个固定数量的C,那么,对于A中的每个元素:

A[i]=B[i]-C

我应该这样做&B[i]取指针本身的地址,因此它是一个完全不同的东西

示例代码:

对于(int i=0;iA[i]=B[i]-C

您的问题有点不清楚,但是如果a和B是指向double的指针数组,并且您希望使用固定数量的C来更改每个指针,那么,对于a中的每个元素:

A[i]=B[i]-C

我应该这样做&B[i]取指针本身的地址,因此它是一个完全不同的东西

示例代码:

对于(int i=0;iA[i]=B[i]-C

C++也没有简单的映射语法

(1) 使用循环

for (int i = 0; i < 1482; ++ i)
  A[i] = B[i] - C;

(可能有一个Boost库来简化这个过程。)

C++也没有简单的映射语法

(1) 使用循环

for (int i = 0; i < 1482; ++ i)
  A[i] = B[i] - C;
(可能有一个Boost库来简化此过程。)

您需要的是:

&( *B[i] - C )
但我认为你不能直接把它分配给一个[i]。首先,您必须创建一个double的临时(T)数组

for(int i=0; i< size_of_B; i++){
  T[i] = *B[i] - C;
}
for(int i=0; i< size_of_T; i++){
  A[i] = &T[i];
}
for(int i=0;i
您想要的是:

&( *B[i] - C )
但我认为你不能直接把它分配给一个[i]。首先,您必须创建一个double的临时(T)数组

for(int i=0; i< size_of_B; i++){
  T[i] = *B[i] - C;
}
for(int i=0; i< size_of_T; i++){
  A[i] = &T[i];
}
for(int i=0;i
你想通过A=B-C来完成什么?从不同的数组中减去指针毫无意义(而且是未定义的行为),而不是说“所以我想做:(代码片段显然不能做你想做的事情)”你应该用英语解释你想要什么。我们无法知道您希望该代码段比编译器做什么。您希望通过执行A=B-C来实现什么?从不同的数组中减去指针毫无意义(而且是未定义的行为),而不是说“所以我想做:(代码片段显然不能做你想做的事情)”你应该用英语解释你想要什么。我们无法知道您打算让代码片段做什么,就像您的编译器一样。