使用最少/一行代码更新一维数组的多个位置
Update multiple locations of one-dimensional array with minimum/one line(s) of code
我在C++中全局初始化了一维数组
Gfloat cone1[] = { 0.0f, 2.4f, -11.0f, 30.0f, -1.5, 0.0, 0.0 };
我想在我写最少/一行代码的主函数中,用我选择的不同数字更新它的所有值。
有可能吗?
我不想这样做:-
cone1[0] = 12f , cone1[1] = 56f; ...
如果您愿意切换到使用std::vector
或std::array
,可以使用统一初始化和赋值。
以下示例将std::vector
用于大小可变的数组。
#include <vector>
int main()
{
std::vector<Gfloat> cone1 { 0.0f, 2.4f, -11.0f };
cone1 = { 30.0f, -1.5, 0.0 };
}
以下示例将std::array
用于固定大小的阵列。
#include <array>
int main()
{
std::array<Gfloat, 3> cone1 { 0.0f, 2.4f, -11.0f };
cone1 = { 30.0f, -1.5, 0.0 };
}
如果在另一个数组中有要替换的值,可以使用std::copy:
std::copy(newCone, newCone + 7, cone1);
如果你想在一行上完成,那么就在一行:
cone1[0] = 12f; cone1[1] = 56f; ... // and so on
将所有代码都显示在一行上/以minium代码为目标并不能使其更高效,尽管多行可读代码比文件中占用较少空间的紧凑代码要好。
我按照@Captain Obvlious的建议解决了我的问题。
将-c-f消息长度=0替换为-c-fmessage长度=0-std=c++11
确保在-c-fmessage length=0和-std=c++11之间留有空格
否则,您的项目将显示它正在生成,但不会创建.exe文件。
相关文章:
- 将二维数组的所有元素插入到一维数组中
- C++语法差异:二维和一维数组(指针算术)
- 将一维数组写入 CSV C++中的不同列?
- C++:将矩阵存储在一维数组中
- 如何在一维数组中的每个元素中都有多个int值
- 以C++填充一维数组
- 用于在一维数组上嵌套循环操作的正确 openmp 指令
- 如何在 <threads> c++ 中使用和一维数组进行矩阵乘法?
- C++按内存地址将多维数组更改为一维数组
- 在 c++ 中返回一维数组时出错
- 一维数组映射方式的性能差异问题
- 如何使用一维数组更改二维数组中的值?
- 使用二维数组作为一维数组是否正确?可能会导致未定义的行为左右?
- 将一维数组转换为二维数组
- 如何使用一维数组列表初始化二维数组
- 在一维数组中对二维进行排序
- 将一维数组的索引转换为二维数组
- 通过访问二维数组实现双线性插值的概念类似于一维数组
- 将二维数组传递到只需要一维数组的函数中(C++)
- 使用最少/一行代码更新一维数组的多个位置