teratail header banner
teratail header banner
質問するログイン新規登録
C++

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

Q&A

3回答

258閲覧

C++ 型(Collection)というものについて

silk1002

総合スコア0

C++

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

0グッド

0クリップ

投稿2025/06/21 14:23

0

0

実現したいこと

Collection型を戻り値とする関数を作成したい。

前提

就活にて、課題が出されその中の一つに「クラス図をみてコーディングをする。」という課題が出され、現在やっています。
コーディング言語はC++で、当方はC言語のみ経験済みでC++に触れたのは1週間前ほどになります。

発生している問題・エラーメッセージ

クラス図を見てみると関数の型として「Collection」というものが記載されています。
Collectionという型は何?実装方法は?と悩んでいます。

試したこと

試しに、VScodeにてCollectionと打っても、赤波線。
collection.hにplatform::collections::~~というものはある模様?
https://learn.microsoft.com/ja-jp/cpp/cppcx/collections-c-cx?view=msvc-170

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

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

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

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

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

mingos

2025/06/21 16:45

できれば、そのクラス図および、課題のテキストを載せてください。 それが難しいのであれば、tetatailではなくChatGPTに聞いたほうがいいです。 より深い回答が欲しかったら質問も具体的、詳細な情報を載せてください。
normal1980

2025/06/22 08:43

C++ にもバージョンがあります。 開発環境や、使用言語を詳しく載せてください。
guest

回答3

0

Collectionという型は何?

C++自体にCollectionという型はありませんので、その課題に固有な型としてお考え下さい。
また、「試したこと」に掲げられているリンクですが、それはC++/CXというC++とは別の特殊言語のお話になりますので参考になりません。

実装方法は?

以下に例を示します。

class Collection { }; Collection Collection型を戻り値とする関数() { Collection 戻り値; return 戻り値; } int main() { Collection value = Collection型を戻り値とする関数(); }

class Collection{}; のところは仮に書いてみたものですので、実際にはその課題に固有な内容ということになります。(ヘッダファイルがあるようでしたらそれを #include するだけということも考えられます。)

投稿2025/06/21 23:32

n2q37_cpp

総合スコア11

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

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

0

C++ の言語仕様の中に collection というクラス、クラステンプレート、または型の分類は存在しません。 実際に何を指して collection と呼んでいるかは設計全体を見て推察するか書いた人に意図を尋ねるしかないです。

Java などいくつかの言語では複数のオブジェクトを格納するようなオブジェクト (の型) をコレクションと呼んでおり、おそらくはその意味だろうとは思いますが……。

C++ ではそれに相当するものをコンテナという用語で呼んでいて、五つの分類、具体的には二十種類以上があります。 (ここでは一部を省略しております。 また、次の規格改定で追加される見込みのものがあるので以下は規格の全てというわけではありません。)

  • sequence containers
    • array
    • vector
    • deque
    • forward_list
    • list
  • associative containers
    • map
    • multimap
    • set
    • multiset
  • unordered associative containers
    • unorderd_map
    • unorderd_multimap
    • unordered_set
    • unordered_multiset
  • container adaptors
    • stack
    • queue
    • priority_queue
    • flat_set
    • flat_map
    • flat_multiset
    • flat_multimap
  • views
    • span
    • mdspan

質問の文面から推察できる設計意図の可能性として考えられるのは

  • これらのコンテナの中から適切なものを選んで使え
  • これらのコンテナの全て (または主要なもの?) をどれでも使えるように対応せよ (テンプレートとして定義?)
  • 課題に固有のサードパーティーライブラリとして collection を用意しているのでそれを使え
  • 自分で collection 型も含めて実装せよ

あたりが思い浮かびます。

投稿2025/06/21 16:38

SaitoAtsushi

総合スコア5740

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

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

0

C++でコレクションというと、std::vectorとかstd::listとかstd::mapとかのことを言います。(他にもあります)
「C++ コンテナ」で調べたほうが早いです。

投稿2025/06/21 15:20

hiroki-o

総合スコア1442

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問