2 c++ arrays algorithm vector std
我想创建一个数组并向该数组中的每个元素引发2并将其存储为新数组arr2.这是我的代码
#include <iostream>
using namespace std;
int main(){
int arr1[7] = {1, 2, 3, 4, 5, 6, 7};
auto arr2 = 2 ** arr1;
cout << arr2 << endl;
}
Run Code Online (Sandbox Code Playgroud)
但是,它只打印第一个元素,它不打印整个数组.为什么?所以,基本上,我在这里做的是用元素{1,2,3,4,5,6,7}创建arr1然后我想要arr2是
但由于某种原因,它只打印数组的第一个元素,它打印2,但我希望它打印所有元素.请注意,这2 ** arr1是我将2提升到电源的行(使用取幂运算符,我认为如果我没有错,就是你如何调用它)然后它应该将数组存储在array2中.
有什么问题,为什么它只打印第一个元素而不是所有元素?
**是不是一个求幂运算符.C++不是Fortran.
你的第一个元素乘以2 arr:你的陈述相当于int arr2 = 2 * arr1[0];.你输入的是完全合法的C++(由乘法和指针取消引用组成),并且使用auto正在添加到混淆中.