構造体の割り当て方のバリエーション =================================== 配列のデータはnewで動的に割り当てるものの、固定長でサイズも小さい ``Array`` 構造 体の方は普通の変数として割り当てるという作り方の例です。 前の例とは、 ``Array`` の割り当て、解放の関数と ``main`` 関数の中だけが違います。 割り当て・解放の関数は次のようになっています。 .. literalinclude:: s004.cpp :language: c++ :linenos: :lineno-start: 48 :lines: 48-63 前の例との相違点は、 ``Array`` は割り当て済みで、その先の ``parray`` の部分だけ を割り当て・解放している点です。 .. literalinclude:: s004.cpp :language: c++ :linenos: :lineno-start: 65 :lines: 65-78 ``Array`` 型の変数 ``array1`` と ``array2`` は、 ``main`` 関数のローカル変数とし て割り当てています。 .. literalinclude:: s004.cpp :language: c++ :linenos: :lineno-start: 80 :lines: 80-100 全体のソースを以下に示します: .. literalinclude:: s004.cpp :language: c++ :linenos: :download:`Download the source code` 実行例を示します :: % ./s004 s004 Before initialization [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] After initialization [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] After array copy [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]