c++ - 将数组传递给函数而不更改其值?

标签 c++ arrays

我想在函数 B 中对数组 A 执行某些操作。在函数 B 中,A 的某些值发生了更改。我知道因为A是一个指针,所以它的值在B执行后会改变。所以我必须使用 C,它是 A 的拷贝,以确保 B 执行后 A 不会改变。

我想知道是否有其他方法可以不必使用数组 C?

最佳答案

有很多方法可以做到这一点:

  1. 如果您使用的是 C++11,请使用 std::array .
  2. 使用std::vector<int>传递数组。您可以修改本地拷贝,参数数组不会改变。
  3. 如果您不想修改值,请将其作为 const * 或 const 数组引用传递。例如const int *arrconst int (&arr)[10]

关于c++ - 将数组传递给函数而不更改其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028392/

相关文章:

c++ - 如何检查 mpz_t 编号是否使用 GMP 初始化?

C++ 从多重继承向上转型;源不是多态的

ruby - 在 Ruby 中操作字符串和数组

javascript - 如何将对象列表映射到数组数组

python - 使用 ctypes 将 malloc 数组从 C 返回到 Python

c++ - 在 C++ 中自动为方法调用插入括号

c++ - 有没有办法使用opencv检测图像中的相邻圆

c++ - MFCreateAggregateSource 是否对排序做出任何保证?

arrays - 寻找具有最小乘积的三个项目的 K 个组合

php在Mysql中序列化数据