C++ C++;带指针的算术
我试图补充以下内容: 我有一个双指针数组叫A,另一个双指针数组叫B,还有一个无符号整数叫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[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;i
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来实现什么?从不同的数组中减去指针毫无意义(而且是未定义的行为),而不是说“所以我想做:(代码片段显然不能做你想做的事情)”你应该用英语解释你想要什么。我们无法知道您打算让代码片段做什么,就像您的编译器一样。