なんかわかんないけどかれこれ4,5時間アップデートしています。
そして低スペックなマイPCではこの状態でVSを立ち上げるとフリーズしてしまうわけですよ。
っていうわけで日記更新します。
来週はtoeicなんですが日記更新します^p^(だから点数が伸びない
[hr]
今日はalgorithmのcopyの話をします。
関数名で何をする関数かわかりますね。コピーです。
#include
#include
using namespace std;
int main()
{
vector a(5,1);//{1,1,1,1,1}
vector b(5);//{0,0,0,0,0}
copy(begin(a),end(a),begin(b));//b={1,1,1,1,1}
}
それとも代入より早いのか?
そんなことは知りません。
そもそもコピーするためにcopy使ったことがありません。
じゃあ全然便利じゃないじゃん。
しかし、そういうわけでもない^p^
#include
#include
#include
#include
using namespace std;
int main()
{
vector a(5,1);//{1,1,1,1,1}
ostream_iterator out(cout,",");
copy(begin(a),end(a),out);
cout<<endl;//コンソールに1,1,1,1,1,と出力
}
もっとわからないのはこの使い方がc++のリファレンスサイトで紹介されていることhttp://kaworu.jpn.org/cpp/std::copy
これの何がすごいって<<演算子が定義されてればなんにでも使えるってこと、
そしてコンソール出力だけじゃなく、ファイル出力だってできるっていうことです。
一番すごいのはこんな変態コードを考えた人だと思う^p^
どうしてこのコードでコンソールに数字が出力されるのか、、、
この理由を考えればストリームが何かわかる、、、ような気がする^p^
よく使う関数は大体紹介したような気がします。(4つしかしてない^^;
よく使うわけではないけど結構便利な関数が
- sort
ソートする - min(max)_element
最小(最大)値のイテレータを返す - find
クエリと一致するイテレータを返す
こうしてみると便利な関数って意外と少ないですね。
便利な関数紹介はとりあえず今回で終わりですかね。
短い一生でした^p^