Advertisement

C++ 成员函数和容器中的const数组

阅读量:

来看看一个函数声明:

复制代码
    int sum_arr(int arr[], int n)  //arr = array name, n = size

使用防护括号标记的arr[]被视为一个数组;空方括号则意味着允许接收不同长度的数据。然而实际上并非如此:这里使用的变量名称并未正确标识(即arr并不是一个真正的数组)。但在处理函数的其他部分时可以将其视为局部变量来处理。例如,在以下示例中,请问为何在测试过程中发现变量名为arr却不符合预期?这是因为当调用函数时,在内存中专为该参数分配了一段独立区域,并未将其值传递给函数内部的操作符或变量。

复制代码
 #include<iostream>

    
  
    
 const int ArSize = 8;
    
 int sum_arr(int arr[], int n);
    
  
    
 int main()
    
 {
    
 	int cookies[ArSize] = { 1, 2, 4, 8, 16, 32, 64, 128 };
    
  
    
 	int sum = sum_arr(cookies, ArSize);
    
 	std::cout << "Total cookies eaten: " << sum << "\n";
    

全部评论 (0)

还没有任何评论哟~