C++に長久しぶりに触ってみた。
C++は標準ライブラリが貧相なので、最近小物を作ったりするのにつかってなかったけど復帰してみようかなぁ。
昔は暗記してたSTLも、ほとんど忘却の彼方。
ということで、ちょびっとだけ復習をしてみよう。
第一弾!!
コンテナの部からstd::vector<T>
アルゴリズムの部からstd::sort
イテレータの部からstd::istream_iterator<T>, std::ostream_iterator<T>
ついでに、C++/CLIのプロジェクト内でさくっと使えるのか試してみる。(問題は無いんだろうけど)
コンソールのプロジェクトをさくっと作成。
stdafx.hに下のincludeを追加する。
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
そういえば、何を作るか言ってなかった。
キーボードからCtrl + Zが入力されるまで、数値を読み込んでいく。んで、ソートして出力!
超簡単プログラム。思い出すにはちょうどいい!
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
std::vector<int> v;
std::copy(std::istream_iterator<int, wchar_t>(std::wcin),
std::istream_iterator<int, wchar_t>(),
std::back_insert_iterator<std::vector<int> >(v));
std::sort(v.begin(), v.end());
std::copy(v.begin(), v.end(), std::ostream_iterator<int, wchar_t>(std::wcout, L" "));
return 0;
}
可も無く不可も無くといった感じ。
std::back_insert_iteratorとかよく覚えてたな自分。