• [C++ Primer] Passing an array to a function by reference/pointers sample


    #include <cstdlib>
    #include 
    <iostream>

    using namespace std;

    // Takes a pointer to the array, and the size of the array.
    void print_arr1(const int *arr, size_t size)
    {
        
    for (size_t ix = 0; ix != size; ++ix) {
            cout 
    << arr[ix] << ' ';
        }
        cout 
    << endl;
    }

    // Takes 2 pointers. One to the beginning of the array, 
    // and one to 1 past the last element - just like iterating through a vector.
    void print_arr2(const int *beg, const int *end)
    {
        
    for (/* empty */; beg != end; ++beg) {
            cout 
    << *beg << ' ';
        }
        
        cout 
    << endl;
    }

    // Takes an array of size 10 and uses it as a const reference.
    void print_arr3(const int (&arr)[10])
    {
        size_t size 
    = 10;
        
    for (size_t ix = 0; ix != size; ++ix) {
            cout 
    << arr[ix] << ' ';
        }
        cout 
    << endl;
    }

    int main() 
    {
        
    int arr[] = {0123456789};
        
    int *parr = arr;
            
        print_arr1(parr, 
    10);
        print_arr2(parr, parr
    +10);
        print_arr3(arr);    
        
        
    return EXIT_SUCCESS;
    }
  • 相关阅读:
    flashdevelop生成swc库(转)
    SOG and COG spec
    [C]switch...case...一个case包含多个值的一种写法
    [C]赋值语句返回值
    Antenna知识整理
    SPI接口比IIC速度快的理解
    C语言代码的换行
    SRRC认证
    蓝牙协议分析(6)_BLE地址类型
    结构体变量和指针对成员的引用形式
  • 原文地址:https://www.cnblogs.com/yyw84/p/2091896.html
Copyright © 2020-2023  润新知