c++ - 如何使用最少的代码 C++ 设置数组的特定元素

标签 c++ arrays

我想知道是否有一种简单的方法可以在一行代码中设置数组的多个元素。例如,而不是:

int Array[10];
Array[4] = 100;
Array[7] = 100;

有什么方法可以做下面这样的事情吗?

int Array[10];
Array[4 & 7] = 100;

我知道上面的代码不起作用,但我真的想不出任何其他方式来显示我的问题。无论如何,提前感谢任何愿意分享意见的人:)

最佳答案

int array[10];
array[4] = array[7] = 100;
array[4] = 100, array[7] = 100;
4[array] = 7[array] = 100;

编辑:

您可能希望对元素的动态设置使用循环

int i, array[10], array_element[3] = { 3, 5, 6 };
for (i = 0; array_element[i] && array[array_element[i]]; i++) array[array_element[i]] = 100;

另一种选择是定义一个函数,如果“最小”代码意味着抽象

overlord::set(array, 100, "3, 5, 6");
overlord::set(array, 100, "{ 3, 5, 6 }");
overlord::set(array, "3: 200, 5: 400, 6: 500");

无论哪种方式,您都不会在 C++ 或 C 中找到“DYNAMIC”语言功能。您必须对现有的基本功能实现抽象,才能获得这种愚蠢的动态类型。

关于c++ - 如何使用最少的代码 C++ 设置数组的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10309339/

相关文章:

c++ - 有哪些推荐的编译器标志集可以帮助减少错误

c++ - 与 alignas 语法作斗争

c++ - 包含源中的 Qt undefined reference

c++ - 用引号和花括号初始化 char 数组

javascript - 如何对本地存储中的嵌套键进行数字排序

c++ - 理解 argList 构造函数的问题

c++ - 自定义缓冲区的字节顺序

c++ - 为什么要将类型 T 放置在需要 move 可构造的 vector 的末尾?

ios - 在 TableView 单元格中使用步进器 - 但返回到 VC 的数据未正确更新

javascript - 如何在数组中保存相同的对象类型