Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
#include <vector> #include <iostream> using std::cout; using std::endl; std::vector<int> && test(){ std::vector<int> vec; // vectorにいろいろ挿入する処理(この記事と関係ないので省略) cout << 2 << endl; return std::move(vec); } int main() { cout << 1 << endl; std::vector<int> v = test(); cout << 3 << endl; return 0; } 2まで表示されて、Segmentation Faultで落ちる。 似たようなことでハマった人がいないか、Stack Overflowで探してみると、やっぱりいたので、回答を要約すると。 右辺値参照は、あくまでも参
CodeIQさんの問題に、いつもPython使ってるのでたまにはC++を、と思ったらハマったのだけど。 原因がようやく分かった。std::cinでの読み込みが失敗していた。失敗しても例外とか投げずに静かに失敗するので、分からないんですね。 例:整数のみからなるテキストがstdinに渡される、としよう。行数は、前もって分からない。 これをvectorに読み込みたい。 #include <iostream> #include <vector> int main(){ int t; std::vector<int> v; while(!std::cin.eof()){ std::cin >> t; v.push_back(t); } for(auto it=v.begin();it!=v.end();++it){ std::cout << *it << std::endl; } }
C++のtupleってどうやって実装してるんだろ、と、ふと気になって、ソースを見てみたら、テンプレートで再帰していて、なんかおもろいなぁってことで、頑張って読んでみました。 細かいメソッドだとか、コンストラクタだとかは読み飛ばして、データ構造に焦点を当てています。 この記事は https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/a01066_source.html のソースをもとに書いています。 #tupleの実装 いきなりですが。ソースの上の方はとりあえず飛ばして、下の方にある、tuple自体の実装を見てみます。 00222 /// tuple 00223 template<typename... _Elements> 00224 class tuple : public _Tuple_impl<0, _Elements.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く