LoginSignup
0
0

C++ 多重配列(vector, array)

Last updated at Posted at 2024-02-22

source code


#include <iostream>
#include <array>
#include <vector>
#include <string>
#include "multi_array.hpp"

//////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////
void multi_array::exec()
{
    std::cout << __func__ << std::endl;

    const std::vector<std::uint8_t> var_vector{1, 2, 3, 4, 5};
    std::string str_msg = "*** var_vector : ";
    for(const std::uint8_t& var_vec_item : var_vector)
    {
        str_msg += " " + std::to_string(var_vec_item);
    }
    std::cout << str_msg << std::endl;

    const std::array<std::uint8_t, 5> var_array{6, 7, 8, 9, 10};
    str_msg = "*** var_array  : ";
    for(const std::uint8_t& var_arr_item : var_array)
    {
        str_msg += " " + std::to_string(var_arr_item);
    }
    std::cout << str_msg << std::endl;

    const std::vector<std::vector<std::uint8_t>> var_multi_vector{
        {11, 12, 13, 14, 15},
        {21, 22, 23, 24, 25},
        {31, 32, 23, 24, 25}
    };
    str_msg = "*** var_multi_vector : ";
    for(int ix = 0; ix < 3; ix++)
    {
        str_msg += "\n";
        for(int iy = 0; iy < 5; iy++)
        {
            uint8_t var = var_multi_vector.at(ix).at(iy);
            str_msg += " " + std::to_string(var);
        }
    }
    std::cout << str_msg << std::endl;

    str_msg = "*** var_multi_vector : for_range";
    for(const auto& vec : var_multi_vector)
    {
        str_msg += "\n";
        for(const std::uint8_t& var : vec)
        {
            str_msg += " " + std::to_string(var);
        }
    }
    std::cout << str_msg << std::endl;


    const std::array<std::array<std::uint8_t, 5>, 3> var_multi_array{{
        {16, 17, 18, 19, 20},
        {26, 27, 28, 29, 30},
        {36, 37, 28, 29, 40}
    }};
    str_msg = "*** var_multi_array : ";
    for(int ix = 0; ix < 3; ix++)
    {
        str_msg += "\n";
        for(int iy = 0; iy < 5; iy++)
        {
            uint8_t var = var_multi_array.at(ix).at(iy);
            str_msg += " " + std::to_string(var);
        }
    }
    std::cout << str_msg << std::endl;

    str_msg = "*** var_multi_array : for_range";
    for(const auto& arr : var_multi_array)
    {
        str_msg += "\n";
        for(const std::uint8_t& var : arr)
        {
            str_msg += " " + std::to_string(var);
        }
    }
    std::cout << str_msg << std::endl;
}

outout

exec
*** var_vector :  1 2 3 4 5
*** var_array  :  6 7 8 9 10
*** var_multi_vector :
 11 12 13 14 15
 21 22 23 24 25
 31 32 23 24 25
*** var_multi_vector : for_range
 11 12 13 14 15
 21 22 23 24 25
 31 32 23 24 25
*** var_multi_array :
 16 17 18 19 20
 26 27 28 29 30
 36 37 28 29 40
*** var_multi_array : for_range
 16 17 18 19 20
 26 27 28 29 30
 36 37 28 29 40
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0