top of page

templateとvector使ってクラスを定義してみた

  • S.H.
  • 2017年8月31日
  • 読了時間: 1分

最近、C++の勉強がてら競技プログラミングの問題を解くことが多くなった。

で、入力や出力の方法が似たようなコードを毎回書いたりしててた時、

「これ、テンプレートとvector使ったクラスで楽できないかな?」

と思い、さっそく書いてみた。

https://wandbox.org/permlink/s2M1OU9128CHuheC

以下、ザクっとコードの解説。

TemplateVectorクラスはテンプレートクラスにvectorコンテナをメンバ変数(この言い回しは正しいのか……?)に使っているね。

で、T Set() と T Show() の二つを使って、Containerに動的に要素を格納したり、出力したりできる。

ちなみに、for(auto&& t : Container) はC++で追加されたfor文の機能を使ってる。

コレ、初めてみたのはyumetodoさんがLINKSのコードをリファクタリングしてた時に見たんだようなぁ。

正直、最初はよくわからんかった。

このクラス使えば、オブジェクトを宣言するときに型を指定することで色んな型の連続するデータを格納&出力ができるねー。

最新記事

すべて表示
C++の標準ライブラリとかでゲームブック風サンプルを作ってみた。

ふと、C++のリファレンス読みながら「標準ライブラリだけでも簡単なゲーム作れそう」と思い、さっそく作ってみた。 以前、作ったノベルゲーム風サンプルをもとに作ったので、そんなに時間はかからなかったかな? 作ってみた感想としては、「簡単なゲームブックならこれで十分?」って感じ。...

 
 
 
CoderDojo吉賀に参加してきた

先日、ウチの地元で開催されていた第三回CoderDojo吉賀に参加してきた。 一応、メンターとしての参加は今回で二回目。前回参加したのは、第一回だったねー。 メンターといっても、チビッ子たちの色んな質問に答えたり、機材の不調をどうにかしたりって感じ。...

 
 
 
テンプレートクラスのデストラクタでツッコミをいただいた話

先日、「C++でテンプレートクラスを作ってみた」という記事を書いた。 それを読んだyumetodoさんより、「不用意にデストラクタを宣言しないこと」というありがたいツッコミをいただいた。 ちなみに、デストラクタを不用意に宣言しないことについてはyumetodoさんのこちらの...

 
 
 
特集記事
最新記事
アーカイブ
タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page