C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part150
https://mevius.5ch.net/test/read.cgi/tech/1584975873/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
テンプレここまで
探検
C++相談室 part151
レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/05/14(木) 11:53:25.59ID:ZPCfyTux
884デフォルトの名無しさん
2020/07/05(日) 15:02:20.05ID:G8wpw7EE >>876
最初の書き方の場合、GetHoge() の戻り値は、一時オブジェクト。
一時オブジェクトの生存期間は、その部分式を含んだ完全式の終わりまでとされている。
GetHoge()が書いてある場所は、for ブロックの開始時に、最初に一度だけ評価されるが、
完全式としては、その時点で終わっている。
だから、関数戻り値の一時オブジェクトの生存期間は、forブロックに入る直前に終わってしまう。
戻り値の型は、shared_ptr<vector<T>>で、この中身を参照している shared_ptrが全て
消失した時点で中身まで deleteされる。
そのため、forブロックの中では、もはや、vector<T>が削除されてしまっているということらしいね。
2番目の書き方の場合は、shared_ptr が変数 t にコピーされているので、参照カウンタが1つ分残っている。
そのため、それが指している vector<T> のメモリブロックも削除されずに残っている。
というわけで、ループしているのに結果がおかしいというのは分かるが、全くループしない理由は余り分からない。
最初の書き方の場合、GetHoge() の戻り値は、一時オブジェクト。
一時オブジェクトの生存期間は、その部分式を含んだ完全式の終わりまでとされている。
GetHoge()が書いてある場所は、for ブロックの開始時に、最初に一度だけ評価されるが、
完全式としては、その時点で終わっている。
だから、関数戻り値の一時オブジェクトの生存期間は、forブロックに入る直前に終わってしまう。
戻り値の型は、shared_ptr<vector<T>>で、この中身を参照している shared_ptrが全て
消失した時点で中身まで deleteされる。
そのため、forブロックの中では、もはや、vector<T>が削除されてしまっているということらしいね。
2番目の書き方の場合は、shared_ptr が変数 t にコピーされているので、参照カウンタが1つ分残っている。
そのため、それが指している vector<T> のメモリブロックも削除されずに残っている。
というわけで、ループしているのに結果がおかしいというのは分かるが、全くループしない理由は余り分からない。
885デフォルトの名無しさん
2020/07/05(日) 15:10:48.51ID:0KU/lBNo >>883
バカ用じゃないってだけ
バカ用じゃないってだけ
886デフォルトの名無しさん
2020/07/05(日) 15:37:26.46ID:OSntWRwy887デフォルトの名無しさん
2020/07/05(日) 16:19:00.25ID:NbYPgepr 痛レータ
888デフォルトの名無しさん
2020/07/05(日) 16:52:53.28ID:/j2YKhHE >>883
クールパルルパクルリンパ(); ←関数
クールパルルパクルリンパ(); ←関数
889デフォルトの名無しさん
2020/07/05(日) 17:09:54.17ID:S3hYTv6M >>884
ちょっと間違ってる
範囲for文はここで書いてるように「同等な書き換え」がされて、範囲オブジェクトはここの例で言うauto&& __rangeに束縛される
https://en.cppreference.com/w/cpp/language/range-for
そして、__rangeに束縛されたものが一時オブジェクトであれば、参照束縛による寿命の延長でforブロックの終了まで生存する
だからこういうのは問題ないのよ
for(auto a: std::vector<int>{1,2,3})
あと最後に関しては破壊されたvectorを使っちゃってるから未定義動作で何が起きても文句は言えない
メチャメチャな値を取り出そうと、全くループしなかろうとその時の気まぐれよ
>>886
同意。Getという名前は不適切だな
ちょっと間違ってる
範囲for文はここで書いてるように「同等な書き換え」がされて、範囲オブジェクトはここの例で言うauto&& __rangeに束縛される
https://en.cppreference.com/w/cpp/language/range-for
そして、__rangeに束縛されたものが一時オブジェクトであれば、参照束縛による寿命の延長でforブロックの終了まで生存する
だからこういうのは問題ないのよ
for(auto a: std::vector<int>{1,2,3})
あと最後に関しては破壊されたvectorを使っちゃってるから未定義動作で何が起きても文句は言えない
メチャメチャな値を取り出そうと、全くループしなかろうとその時の気まぐれよ
>>886
同意。Getという名前は不適切だな
890デフォルトの名無しさん
2020/07/05(日) 17:14:11.09ID:G8wpw7EE >>89
こんな機能があったとは:
Temporary range expression
If range_expression returns a temporary, its lifetime is extended until the end of the loop, as indicated by binding to the forwarding reference __range, but beware that the lifetime of any temporary within range_expression is not extended.
こんな機能があったとは:
Temporary range expression
If range_expression returns a temporary, its lifetime is extended until the end of the loop, as indicated by binding to the forwarding reference __range, but beware that the lifetime of any temporary within range_expression is not extended.
891デフォルトの名無しさん
2020/07/05(日) 18:01:59.74ID:LGYlGSYG 昔はC++は複雑怪奇、C#はシンプルで分かりやすいって感じだったけれど、
今はC#の方が仕様拡張で複雑になってきて相対的に大差なくなって来てる気がする
今はC#の方が仕様拡張で複雑になってきて相対的に大差なくなって来てる気がする
892デフォルトの名無しさん
2020/07/05(日) 18:04:58.41ID:Sc6x6nbH いろいろ考えたらC++にあるアレが必要になったんだよ
アレだよアレ
わかるだろ
アレだよアレ
わかるだろ
893デフォルトの名無しさん
2020/07/05(日) 18:20:14.04ID:/j2YKhHE 本来標準ライブラリーで済むものまで言語仕様に入ってやがる
それというのも標準ライブラリーがしょぼくてかつ改善が入らん
あっちはだれがやってるんだ
それというのも標準ライブラリーがしょぼくてかつ改善が入らん
あっちはだれがやってるんだ
894デフォルトの名無しさん
2020/07/05(日) 18:31:21.12ID:wYW3xnyi895デフォルトの名無しさん
2020/07/05(日) 19:22:37.86ID:3TMy8TU+ 皆さんはありがとう御座います
GetHogeは実際はEnumHogeで内部でstd::shared_ptr<std::vector>を生成して返すメソッドです
一時的なオブジェクトで書き方の違いで結果が変わるなんて知りませんでした
とりあえず、変数に代入します
GetHogeは実際はEnumHogeで内部でstd::shared_ptr<std::vector>を生成して返すメソッドです
一時的なオブジェクトで書き方の違いで結果が変わるなんて知りませんでした
とりあえず、変数に代入します
896デフォルトの名無しさん
2020/07/05(日) 19:59:22.90ID:G8wpw7EE898デフォルトの名無しさん
2020/07/05(日) 21:12:13.70ID:wYW3xnyi ていうか
>>889
>あと最後に関しては破壊されたvectorを使っちゃってるから未定義動作で何が起きても文句は言えない
>メチャメチャな値を取り出そうと、全くループしなかろうとその時の気まぐれよ
mjd?!
{
auto t = GetHoge();
for (auto e : *t) {
... // (A)
}
// (B)
}
ならt(GetHoge()が返したshared_ptr<vector<T> >は(B)になるまで生存するから
(A)において*tの要素を参照する(auto &&)することは全く問題無いんじゃ…
>>889
>あと最後に関しては破壊されたvectorを使っちゃってるから未定義動作で何が起きても文句は言えない
>メチャメチャな値を取り出そうと、全くループしなかろうとその時の気まぐれよ
mjd?!
{
auto t = GetHoge();
for (auto e : *t) {
... // (A)
}
// (B)
}
ならt(GetHoge()が返したshared_ptr<vector<T> >は(B)になるまで生存するから
(A)において*tの要素を参照する(auto &&)することは全く問題無いんじゃ…
899デフォルトの名無しさん
2020/07/05(日) 21:15:51.36ID:wYW3xnyi 訂正orz,
誤: (B)になるまで生存する
正: 少なくとも(B)になるまでは生存する(参照カウンタが0より大の状態を保つ)
誤: (B)になるまで生存する
正: 少なくとも(B)になるまでは生存する(参照カウンタが0より大の状態を保つ)
900デフォルトの名無しさん
2020/07/05(日) 21:20:48.10ID:0KU/lBNo >>894
イヤミになってない
イヤミになってない
901デフォルトの名無しさん
2020/07/05(日) 21:24:12.71ID:wYW3xnyi902デフォルトの名無しさん
2020/07/05(日) 21:30:37.86ID:kFjTOHVy C++は局所的に動作を想像できない場合が多いのがなぁ。
バカじゃなけりゃマクロ使いまくったCコードも理解できるかというとそうじゃないだろうと。
バカじゃなけりゃマクロ使いまくったCコードも理解できるかというとそうじゃないだろうと。
903デフォルトの名無しさん
2020/07/05(日) 21:36:58.75ID:wYW3xnyi904デフォルトの名無しさん
2020/07/05(日) 21:37:43.23ID:Bskedq4a 腐った代入オペレータかかれるだけで悲惨なことになる
905デフォルトの名無しさん
2020/07/05(日) 21:42:04.47ID:wYW3xnyi (上の話に限って言えばvector<T>のTに間してどれだけ腐った代入オペレータが定義されていようとも)
別に
別に
906デフォルトの名無しさん
2020/07/05(日) 22:06:13.63ID:0KU/lBNo907デフォルトの名無しさん
2020/07/05(日) 22:08:49.40ID:0KU/lBNo しかしまあ歳は取りたくないと思ったな
全盛時の俺にはありえんことが相次いで起きている一例だった
全盛時の俺にはありえんことが相次いで起きている一例だった
908デフォルトの名無しさん
2020/07/05(日) 22:35:02.11ID:S3hYTv6M >>901
そうだよ
そうだよ
909デフォルトの名無しさん
2020/07/05(日) 23:23:07.13ID:7RTbKb77 C++のラムダって、Javaとかみたいに1文だけの場合にreturn省略できないんですかね?
[](auto a, auto b){ return a + b; } → [](auto a, auto b) { a + b } みたいな感じで。
[](auto a, auto b){ return a + b; } → [](auto a, auto b) { a + b } みたいな感じで。
910デフォルトの名無しさん
2020/07/05(日) 23:59:55.29ID:S3hYTv6M 今はムリ
検討はされてるから将来的に出来るようになるかもしれない
検討はされてるから将来的に出来るようになるかもしれない
911デフォルトの名無しさん
2020/07/06(月) 00:06:22.43ID:J5KuSvPS913はちみつ餃子 ◆8X2XSCHEME
2020/07/06(月) 05:27:19.13ID:Js6m+wFY Rust に慣れてくると C++ で return を書くのを忘れることもある。
914デフォルトの名無しさん
2020/07/06(月) 07:02:55.73ID:oajwJTo1 >>910
ありがとうございます。C++23ぐらいを期待します
ありがとうございます。C++23ぐらいを期待します
915デフォルトの名無しさん
2020/07/06(月) 07:29:08.62ID:hCVItazY916デフォルトの名無しさん
2020/07/06(月) 07:43:23.12ID:tvsN32eC >>911
my powers are weak old man.
my powers are weak old man.
917デフォルトの名無しさん
2020/07/06(月) 21:29:07.26ID:J5KuSvPS 非バカの要件にコード見た瞬間最初から全部ワカルというのが入るということは
>>894で宣言して合ったのに対し別段オブジェクションをつけるでもなく
>俺は瞬間でもないが落ち着いて追えるケースでしかない
とだけ言ったのだから彼は自ら非バカではないと告白したのである
漏れの有り様の批判に繋げられても困る
>>894で宣言して合ったのに対し別段オブジェクションをつけるでもなく
>俺は瞬間でもないが落ち着いて追えるケースでしかない
とだけ言ったのだから彼は自ら非バカではないと告白したのである
漏れの有り様の批判に繋げられても困る
918デフォルトの名無しさん
2020/07/06(月) 21:39:04.45ID:Edtf8jlD919デフォルトの名無しさん
2020/07/06(月) 22:16:12.21ID:Edtf8jlD std::vector<YYY>で返して
std::vector<YYY> XXX::EnumYYY ()
で、受け取った方で他でスマポにしようということで
auto yyy = x.EnumYYY();
auto ptr = std::make_shared<std::vector<YYY>>(std::move(yyy));
とかやればオーバーヘッド少なくスマポ作れるんです?
std::vector<YYY> XXX::EnumYYY ()
で、受け取った方で他でスマポにしようということで
auto yyy = x.EnumYYY();
auto ptr = std::make_shared<std::vector<YYY>>(std::move(yyy));
とかやればオーバーヘッド少なくスマポ作れるんです?
920デフォルトの名無しさん
2020/07/06(月) 22:36:37.36ID:J5KuSvPS 記憶管理という本来隠すべき実装の詳細(と多くの人が考える事柄)を
使う人が意識せねばならな続けるのは嫌すぐる、
使う人が意識せねばならな続けるのは嫌すぐる、
921デフォルトの名無しさん
2020/07/06(月) 23:09:10.15ID:J5KuSvPS getterがshared_ptr<T> pを返したとたん、pの寿命と*(p.get())の寿命の二重管理の責務が利用者に行く
>>876の真の原因はこれ
getterがオブジェクトのディープコピーを返したらそんな二重管理は生じないで済む
getterが仮にオブジェクトXの参照を返す仕様だとしても、Xの実体を保持するオブジェクトのY寿命と
getterを呼ぶタイミングの二重管理以上の手間にはならない
結局shared_ptr<T>を返すインターフェースは不恰好さだけが残る
>>876の真の原因はこれ
getterがオブジェクトのディープコピーを返したらそんな二重管理は生じないで済む
getterが仮にオブジェクトXの参照を返す仕様だとしても、Xの実体を保持するオブジェクトのY寿命と
getterを呼ぶタイミングの二重管理以上の手間にはならない
結局shared_ptr<T>を返すインターフェースは不恰好さだけが残る
922デフォルトの名無しさん
2020/07/07(火) 02:12:04.06ID:bKZU32Ct923デフォルトの名無しさん
2020/07/07(火) 05:32:28.01ID:Njz9GOYM >>922
2行目で述べている、利用者がしくれば危険性が生じるという事実と
1行目の「「二重管理」にはならないでしょ」という主張は矛盾してねえが、
本当に所有権の共有が必要ならshared_ptr<T>を使うのはアリだが、shared_ptr<T>が保持する
Tの実体のみに興味がある利用者に対してはshared_ptr<T>を使っていることを
クラスUで隠蔽する方が良い
Tが持っている演算を全てクラスUからTに委譲し、UをT同然に使えるようにするのがbest
そこまでやる手間が嫌という理由でUにTを返すメソッドU::get()を備えさせる簡易手段に訴えたとしても、
Uの定義だけ見れば循環参照にならないことをUの提供者が保証できるから
(Tがジェネリックな型だった場合の)Uの利用者やプログラム全体のメンテナーに地雷原を歩かせずに済むメリットがある
2行目で述べている、利用者がしくれば危険性が生じるという事実と
1行目の「「二重管理」にはならないでしょ」という主張は矛盾してねえが、
本当に所有権の共有が必要ならshared_ptr<T>を使うのはアリだが、shared_ptr<T>が保持する
Tの実体のみに興味がある利用者に対してはshared_ptr<T>を使っていることを
クラスUで隠蔽する方が良い
Tが持っている演算を全てクラスUからTに委譲し、UをT同然に使えるようにするのがbest
そこまでやる手間が嫌という理由でUにTを返すメソッドU::get()を備えさせる簡易手段に訴えたとしても、
Uの定義だけ見れば循環参照にならないことをUの提供者が保証できるから
(Tがジェネリックな型だった場合の)Uの利用者やプログラム全体のメンテナーに地雷原を歩かせずに済むメリットがある
924デフォルトの名無しさん
2020/07/07(火) 06:29:56.58ID:Njz9GOYM ちゅか明白すぎて激しく書き忘れたが、オブジェクトTのグローバルな所有権の共有が必要な場合、
shared_ptr<T>が保持するTの実体へのアクセスの排他制御を行わねばならないが
shared_ptr<T>はこの点なんのサポートもしてくれない(せいぜい自身が使う参照カウンタの排他を行うだけ
なので、Tの排他はshared_ptr<T>をwrapしたクラスUが行う必要があり、かつ行えば十分
この点一つとってもクラスUを設けずshared_ptr<T>をTの利用者に直接返す設計のダメさ加減がワカル
gdgdだ、
shared_ptr<T>が保持するTの実体へのアクセスの排他制御を行わねばならないが
shared_ptr<T>はこの点なんのサポートもしてくれない(せいぜい自身が使う参照カウンタの排他を行うだけ
なので、Tの排他はshared_ptr<T>をwrapしたクラスUが行う必要があり、かつ行えば十分
この点一つとってもクラスUを設けずshared_ptr<T>をTの利用者に直接返す設計のダメさ加減がワカル
gdgdだ、
925デフォルトの名無しさん
2020/07/07(火) 06:31:29.19ID:Tvc5gvFF926デフォルトの名無しさん
2020/07/07(火) 06:48:05.06ID:hl3O6vw8927デフォルトの名無しさん
2020/07/07(火) 07:19:57.60ID:Njz9GOYM 漏れの心の内面がC++の規格に反映されているわけでないのだから
聞くだけ無駄くね?
聞くだけ無駄くね?
928デフォルトの名無しさん
2020/07/07(火) 08:11:38.64ID:GpjZMZK2929デフォルトの名無しさん
2020/07/07(火) 08:43:44.25ID:kKeNsU/l930928
2020/07/07(火) 09:14:32.95ID:D+WevL4Y931デフォルトの名無しさん
2020/07/07(火) 12:07:28.86ID:/8q6WRwj 参照カウンタがゼロになることから
getのたびにvectorを作成しており
その管理を呼び手に委ねてることがわかる
こんなものは素直に実体を返せば良い
呼び手がスマポで管理することも出来るし
特に管理せずスコープを抜けた段階で自動で破棄することも出来る
getのたびにvectorを作成しており
その管理を呼び手に委ねてることがわかる
こんなものは素直に実体を返せば良い
呼び手がスマポで管理することも出来るし
特に管理せずスコープを抜けた段階で自動で破棄することも出来る
932デフォルトの名無しさん
2020/07/07(火) 12:43:21.61ID:D+WevL4Y933デフォルトの名無しさん
2020/07/07(火) 20:34:36.65ID:fHFPpwji 内部で管理してるオブジェクトの見せ方は色々あって難しいけど
今回の場合は新しく作ったvectorでしょ?そんなもんそのまま呼んだ奴にくれてやれよ
無駄な包装紙付けられたり、後からやっぱ俺のものとか言い出されたらウザいだろ?いらん未練残すな
今回の場合は新しく作ったvectorでしょ?そんなもんそのまま呼んだ奴にくれてやれよ
無駄な包装紙付けられたり、後からやっぱ俺のものとか言い出されたらウザいだろ?いらん未練残すな
934デフォルトの名無しさん
2020/07/08(水) 07:03:23.04ID:SF9V14yC vector自体がムブコン持ってるんだから
935デフォルトの名無しさん
2020/07/08(水) 08:37:14.85ID:qWtjrxlX この場合ムーブじゃなくてRVOな
936デフォルトの名無しさん
2020/07/08(水) 09:04:46.82ID:eJ60/BI8 >>935
「この場合」って、実装見ないとわからない話では?どっかで実装の話出てたっけ?
「この場合」って、実装見ないとわからない話では?どっかで実装の話出てたっけ?
937デフォルトの名無しさん
2020/07/08(水) 09:11:01.56ID:qWtjrxlX938デフォルトの名無しさん
2020/07/08(水) 10:07:11.80ID:SF9V14yC >>935
??? 最適化は関係ねえだろ
??? 最適化は関係ねえだろ
939デフォルトの名無しさん
2020/07/08(水) 10:18:43.63ID:eJ60/BI8 >>937 呼び出し元しか書いてないやん。
940デフォルトの名無しさん
2020/07/08(水) 10:20:00.04ID:qWtjrxlX あー、調べてみたらNRVOは未だに保証は無いのな
まぁ何にせよスマポにする理由は無い
まぁ何にせよスマポにする理由は無い
941デフォルトの名無しさん
2020/07/08(水) 10:23:29.25ID:qWtjrxlX >>938
RVOにムーブコンストラクタは要らん
RVOにムーブコンストラクタは要らん
942デフォルトの名無しさん
2020/07/08(水) 10:30:21.07ID:eJ60/BI8 これは触らないほうがよさそうだ
943デフォルトの名無しさん
2020/07/08(水) 10:33:29.86ID:SF9V14yC944デフォルトの名無しさん
2020/07/08(水) 10:36:03.62ID:qWtjrxlX945デフォルトの名無しさん
2020/07/08(水) 10:38:14.66ID:qWtjrxlX て>>934本人か
なんでコピーを除外したの?
なんでコピーを除外したの?
946デフォルトの名無しさん
2020/07/08(水) 10:48:43.23ID:SF9V14yC947デフォルトの名無しさん
2020/07/08(水) 10:55:56.92ID:qWtjrxlX 質問に答えてねーだろw
948デフォルトの名無しさん
2020/07/08(水) 11:19:20.44ID:SF9V14yC949デフォルトの名無しさん
2020/07/08(水) 11:26:59.21ID:SF9V14yC あ、もしかしてshared_ptr使ってんのにディープコピーとか言ってたコレ◎か?
950デフォルトの名無しさん
2020/07/08(水) 11:51:13.02ID:qWtjrxlX951デフォルトの名無しさん
2020/07/08(水) 11:54:26.16ID:hADFKHgu 観客へのアピールだったり警鐘だったりするんだろう本人の中では
余計なお世話かも知れないし役に立つかも知れない
余計なお世話かも知れないし役に立つかも知れない
952デフォルトの名無しさん
2020/07/08(水) 12:31:38.98ID:SF9V14yC953デフォルトの名無しさん
2020/07/08(水) 13:01:09.98ID:T5O+XOTR moveが使われるかどうか心配なら昔ながらの方法を使えば良い
これなら古い環境に移植もできる
いずれにしろスマポで返すのは余計なおせっかい
これなら古い環境に移植もできる
いずれにしろスマポで返すのは余計なおせっかい
954デフォルトの名無しさん
2020/07/08(水) 13:07:38.11ID:qWtjrxlX955デフォルトの名無しさん
2020/07/08(水) 13:37:00.65ID:SF9V14yC >>954
auto t = GetHoge();
てなことするのにshared_ptrを使うことの是非はムブコン関係あるぞ
おまえさんが気が付いてないのを責めはせんが
さっきからwだの[鏡]だのとナメた口の利き方をしてくれるな
ああそうか煽り合いに持って行ければ誤魔化せると思っているのか
auto t = GetHoge();
てなことするのにshared_ptrを使うことの是非はムブコン関係あるぞ
おまえさんが気が付いてないのを責めはせんが
さっきからwだの[鏡]だのとナメた口の利き方をしてくれるな
ああそうか煽り合いに持って行ければ誤魔化せると思っているのか
956デフォルトの名無しさん
2020/07/08(水) 13:44:29.75ID:qWtjrxlX957デフォルトの名無しさん
2020/07/08(水) 13:50:52.29ID:SF9V14yC >>956
◎がディープコピーと言い出してからの話だろ
しばらく他のやつらが泥仕合してたようだがそっちにゃ興味ねえ
前後は気にせず933の発言に同調したというだけだ
最適化だのコピコンだの俺が言ってもねえことばかりいい加減にしてくれ
◎がディープコピーと言い出してからの話だろ
しばらく他のやつらが泥仕合してたようだがそっちにゃ興味ねえ
前後は気にせず933の発言に同調したというだけだ
最適化だのコピコンだの俺が言ってもねえことばかりいい加減にしてくれ
958デフォルトの名無しさん
2020/07/08(水) 14:28:50.36ID:AWXToegO 下みたいなコードをみたんだけど、参照にするメリットってないよね?
void aaa (const int& bbb) {
ccc.ddd=bbb;
}
void aaa (const int& bbb) {
ccc.ddd=bbb;
}
959デフォルトの名無しさん
2020/07/08(水) 16:02:47.79ID:K6lGGEpK intなら無いね
960デフォルトの名無しさん
2020/07/08(水) 16:52:52.95ID:/QG168fn 初書き込みです。
初歩的な質問で申し訳ありません
Visual Studio 2008のC++を使っています。
今回、プログラムを変更したのでバージョンをあげたいのですが
アセンブリ情報がどこにあるかわかりません。
どなたかご教示願いますm(__)m
初歩的な質問で申し訳ありません
Visual Studio 2008のC++を使っています。
今回、プログラムを変更したのでバージョンをあげたいのですが
アセンブリ情報がどこにあるかわかりません。
どなたかご教示願いますm(__)m
961蟻人間 ◆T6xkBnTXz7B0
2020/07/08(水) 18:56:14.52ID:wtc6YQgJ962デフォルトの名無しさん
2020/07/08(水) 19:02:59.81ID:j+7F6b9j .rcな
963デフォルトの名無しさん
2020/07/08(水) 19:38:32.50ID:Sbr5rKl2 >>876みたいなコード片の解釈でこんな議論になるというところがC++の問題だな。
964デフォルトの名無しさん
2020/07/08(水) 20:14:05.50ID:j+7F6b9j 仕方無いよバカなんだから
965はちみつ餃子 ◆8X2XSCHEME
2020/07/08(水) 23:46:18.81ID:JUx+fj2a まただ。
このスレを覗いた俺は書き込みを見て落胆した。
また時間がループしてる。
何時になったら、この無間地獄から逃げられるのか。
C++ とはいったい何なのだ?
このスレを覗いた俺は書き込みを見て落胆した。
また時間がループしてる。
何時になったら、この無間地獄から逃げられるのか。
C++ とはいったい何なのだ?
>>966
外患罪あるいは内乱罪に問われるソフトウェアを
外患罪あるいは内乱罪に問われるソフトウェアを
968蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 01:05:16.73ID:2UhyUN9n969蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 01:07:59.16ID:2UhyUN9n 心を持ったボットたちは疎外感を抱えている。我々人類は彼らに何ができるだろう。
970蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 01:16:06.85ID:2UhyUN9n C++とは人間と機械の間のインターフェイス。そして、プログラムを作るための言葉。
971デフォルトの名無しさん
2020/07/09(木) 06:14:05.11ID:oTij6wm7 どうして大物ハンドル持ちの御三方がリレーポエムなの?
ネット界隈で起きてるムーブメントか何かか。
ネット界隈で起きてるムーブメントか何かか。
972デフォルトの名無しさん
2020/07/09(木) 08:47:55.37ID:ah/SMoHN お酒でも入ったんじゃない?
973デフォルトの名無しさん
2020/07/09(木) 09:40:16.08ID:ZjuYlaOw 大物てwww
ちょwww
ちょwww
974デフォルトの名無しさん
2020/07/09(木) 12:40:39.38ID:UKjdf0ou ネタを解説するのは無粋だけど >>965 は昔からあるミームだからね。
https://www.google.com/search?q=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22&oq=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22
https://www.google.com/search?q=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22&oq=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22
975デフォルトの名無しさん
2020/07/09(木) 13:22:45.87ID:LAghEeB5 同一人物だから。
976デフォルトの名無しさん
2020/07/09(木) 13:26:30.06ID:vrNDocOm 知ってた
977デフォルトの名無しさん
2020/07/09(木) 13:32:17.57ID:DLLEuHaF 何何先生?、ミーム感染の話?ハルヒの夏休み?
新人研修?派遣入れ替え時の話?
毎度同じ質問なんて毎度同じ
新人研修?派遣入れ替え時の話?
毎度同じ質問なんて毎度同じ
978デフォルトの名無しさん
2020/07/09(木) 13:57:03.75ID:DLLEuHaF コロナ感染追跡アプリとしてダウンロードしてもらい
マイナバーカード読み取りで国民投票出来るソフトを開発すべし
マイナバーカード読み取りで国民投票出来るソフトを開発すべし
979デフォルトの名無しさん
2020/07/09(木) 14:10:10.85ID:vrNDocOm コロナアプリは入れようとは思わないけど
ウェザーニュースアプリは入れてみた
ウェザーニュースアプリは入れてみた
980デフォルトの名無しさん
2020/07/09(木) 14:54:52.91ID:mgzGAUUl981デフォルトの名無しさん
2020/07/09(木) 14:58:04.43ID:TlzlBxT2 .manifest
982蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 16:45:10.75ID:LAHxv0GZ983デフォルトの名無しさん
2020/07/11(土) 05:56:37.58ID:ckcY8r2v やっぱ>>933とか簡潔に要点が押さえてあるとオモタ、
GetHoge()が呼ぶたびに毎度新しく作ったvectorを返すのならディープコピーを返したらええ
ディープコピーは生成元と所有権で揉めることがありえないからふつくしい
最適化によって実際にはreturn時にvectorの要素がコピーのかわりにmoveされるかもわからんがふつくしさは損なわれない
(さらにいうと、GetHoge()がインライン関数なら最適化でそもそもvector自体のコピーも移動も起きない公算がおおきい
>>918-919な疑問に関しては、
std::vector<T> v1 = GetHoge(); // std::vector<T>のディープコピーを返すバージョンのGetHoge()
std::shared_ptr<std::vector<T> > ptr(new std::vector<T>(v1)); // (*1)
で良いジャマイカ、
非バカが見れば(最適化有効化時は)実際には*1において、v1の要素が*(ptr.get())にコピーではなくmoveされる公算が大きいということがワカル
しかしバカが見ても動作は明確でなんの危険も無い
ptrが一時オブジェクトであっても問題が無い
それでいいジャマイカ、にんげんだもの
GetHoge()が呼ぶたびに毎度新しく作ったvectorを返すのならディープコピーを返したらええ
ディープコピーは生成元と所有権で揉めることがありえないからふつくしい
最適化によって実際にはreturn時にvectorの要素がコピーのかわりにmoveされるかもわからんがふつくしさは損なわれない
(さらにいうと、GetHoge()がインライン関数なら最適化でそもそもvector自体のコピーも移動も起きない公算がおおきい
>>918-919な疑問に関しては、
std::vector<T> v1 = GetHoge(); // std::vector<T>のディープコピーを返すバージョンのGetHoge()
std::shared_ptr<std::vector<T> > ptr(new std::vector<T>(v1)); // (*1)
で良いジャマイカ、
非バカが見れば(最適化有効化時は)実際には*1において、v1の要素が*(ptr.get())にコピーではなくmoveされる公算が大きいということがワカル
しかしバカが見ても動作は明確でなんの危険も無い
ptrが一時オブジェクトであっても問題が無い
それでいいジャマイカ、にんげんだもの
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 悪気はないのに、不意に相手を傷付けてしまう事ってあるんだな
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 僕が未だに紙の単行本を集めてる漫画が「ご注文はうさぎですか?」「ゆるゆり」「大室家」「邪神ちゃんドロップキック」なんだが
