質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

1316閲覧

要素数だけを指定して配列を作成したい

re97

総合スコア208

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/03/28 03:11

C++

1std::array<int, 10> ar; // int型、要素数10

・上記と同じようなことを「#include <array>」せず書くにはどうすれば良いでしょうか?


取り敢えずダミーの値を入れてみたのですが、

C++

1vector<int> ar = {9,9,9,9,9,9,9,9,9,9};

サイズを確保したいだけなので下記にしたらエラーになりました

C++

1vector<int> ar = {,,,,,,,,,};

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

あるいは vector<int> ar(10);

投稿2018/03/28 03:42

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2018/04/11 01:32 編集

期待した通り動作しました。int ar[10] と vector<int> ar(10) では何が違うのですか?
episteme

2018/04/11 04:29

このコメント欄が3000行埋まるくらいに違うので、マニュアル/教本読んでください。
guest

0

こんにちは。

std::array<int, 10> ar;と同等なメモリ領域を獲得したいだけなら、以下ですね。

C++

1int ar[10];

std:arrayにようにコピーしたり関数へ渡たりしたい場合は、以下でいけると思います。(コンパイルしてないのでエラーがでたらごめんなさい。)

C++

1struct 2{ 3 int data[10]; 4 int& operator[](std::size_t idx) { return data[idx]; } 5} ar;

更にイテレートしたいときは、size(), begin(), end()等を実装すると便利です。

投稿2018/03/28 09:14

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2018/04/11 01:37

質問には書いていないのですが、この後で「(int)ar.size();」している箇所があり、そこでエラーになりました
guest

0

int a[10]={0};

#こゆことではない?w

投稿2018/03/28 03:16

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2018/04/11 01:38

質問には書いていないのですが、この後で「(int)ar.size();」している箇所があり、そこでエラーになりました
y_waiwai

2018/04/11 01:43

この記述では生配列の定義ですんで、size メソッドというのはないですねえ この場合の配列のサイズは、(sizeof(a)/sizeof(*a))で取ってこれます
y_waiwai

2018/04/11 04:34

vector は「動的配列」というやつです あとでサイズが増減できたり、いろんな機能を持ってまして、配列というよりリストといったほうがいいかもしれません ぐぐればいろいろ解説が出てくるかと
re97

2018/04/12 03:45 編集

コメントありがとうございました。「動的配列 c++」で色々見つかりました。何のキーワードで検索すれば良いかも分からなかったので、大変参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問