我有一段时间没有写过C ++代码。我需要以有效的方式将此程序中的所有值设置为0。
#include<iostream>
int main(){
using namespace std;
double MainTrianglePoint1[2];
double MainTrianglePoint2[2];
double MainTrianglePoint3[2];
std::cout << "Point 1 X:" << MainTrianglePoint1[2] << " Y:" << MainTrianglePoint1[1];
std::cin.get();
return 0;
}
我是否可以在所有MainTrianglePoint
数组上执行循环,以便将它们的所有值都设置为0?
答案 0 :(得分:2)
使用c ++ 03,您可以直接在其声明中初始化数组:
double MainTrianglePoint1[2] = {0,0};
使用c ++ 11,您可以删除=
符号:
double MainTrianglePoint1[2] {0,0};
答案 1 :(得分:1)
我认为不使用循环,你只需用零填充内存:
std::fill(std::begin(MainTrianglePoint1), std::end(MainTrianglePoint1), 0);
std::fill(std::begin(MainTrianglePoint2), std::end(MainTrianglePoint2), 0);
std::fill(std::begin(MainTrianglePoint3), std::end(MainTrianglePoint3), 0);
答案 2 :(得分:0)
您可以使用for
循环来执行此操作。
for(int i = 0; i<2; i++)
{
MainTrianglePoint1[i] = 0;
MainTrianglePoint2[i] = 0;
MainTrianglePoint2[i] = 0;
}
这将循环遍历每个数组索引,最大为max,并将索引处的值设置为0。
答案 3 :(得分:0)
可能您希望创建一个未命名的结构,并将值初始化为其默认值。 Demo
#include<iostream>
using namespace std;
struct {
double Point1[2];
double Point2[2];
double Point3[2];
} MainTriangle = {};
int main()
{
std::cout << "Point 1 X:" << MainTriangle.Point1[2] << " Y:" << MainTriangle.Point1[1];
std::cin.get();
}
答案 4 :(得分:0)
在C ++ 11中,您可以使用{}轻松完成此任务。请考虑以下代码:
#include <iostream>
using namespace std;
int main () {
double n[10];
for (int i = 0; i < 10; ++i) {
cout << n[i] << endl;
}
double k[10] {};
cout << "-" << endl;
for (int i = 0; i < 10; ++i) {
cout << k[i] << endl;
}
return 0;
}