タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

C++とc++とvectorに関するdelegateのブックマーク (2)

  • C++11におけるstd::vectorへの最速な値設定方法の考察を通して学ぶemplace_backとstd::move - ペンギンは空を飛ぶ

    最近C++を書く機会が多いのだが、いかんせん自分の知識は2014年でぱったりと止まっている。しかも2014年当時、自分はまだまだ未熟で、C++11やらC++14なんかの機能についてはまったくの無知であった。そんなわけで、C++のモダンな機能を学びがてら、タイトルにあるようにstd::vectorに値を設定する最速の方法は何かということを調べてみようと思う。 前提として、vectorのテンプレート引数は、ぼちぼちの大きさをもつ自作クラス型とした。また、vectorのメモリ確保動作が性能ネックとならないように、初めにvectorのメモリをreserveしてから計測を行った。つまり、初めに以下のようなコードを書いておく。 std::vector<LargeObject> lov; // 自作のぼちぼちの大きさのクラスをテンプレート引数に設定 const int NUM_LOOP = 300000

    C++11におけるstd::vectorへの最速な値設定方法の考察を通して学ぶemplace_backとstd::move - ペンギンは空を飛ぶ
  • C++でオブジェクトを返す関数を書いてもいいのか問題 - Gobble up pudding

    C++でオブジェクトを返す関数を書いてもいいのか問題→OKです。 遅かったらプロファイル取りましょうで終わりです。 かなり過去にC++でstd::stringをどう返すべきかという記事を書いたこともあり結局いま、例えば、関数内でvectorを加工してその結果を呼び出し側で使いたいニーズがある場合のコードはどう書くのが正解なの? ということを思い至り備忘録として残しておきます。 ※話が複雑になるので、例えばsortするときのようにあらかじめあるvectorを加工する場合ではないことを明記しておきます 主にC++11が出る前のように void foo(std::vector<int>& v) { ...(vector書き換え) } std::vector<int> vec = { 1, 2, 3 }; foo(vec); とやるのがいいのか、 std::vector<int> foo() {

    C++でオブジェクトを返す関数を書いてもいいのか問題 - Gobble up pudding
  • 1