[過去ログ] C++相談室 part151 (982レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(1): 2020/05/14(木)11:53 ID:ZPCfyTux(1) AAS
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part150
2chスレ:tech
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
2chスレ:tech
■長いソースを貼るときはここへ。■
外部リンク:codepad.org
外部リンク:ideone.com
[C++ FAQ]
外部リンク:isocpp.org
外部リンク:www.bohyoh.com (日本語)
テンプレここまで
856: 2020/07/03(金)19:23 ID:O03V1sqG(1/2) AAS
>>840
自称高速化の専門家とやらの妄想は要らんよw
857: 2020/07/03(金)19:26 ID:O03V1sqG(2/2) AAS
>>841
自分一人でコード書いてるならテキトーに決めとけ
チームでやってるならコーディング規約に従え
858: 2020/07/03(金)19:31 ID:C0RVqI6W(1) AAS
高速化の専門家www
じゃあおれも
859: 2020/07/03(金)19:40 ID:3fEHgumK(1) AAS
他称なら兎も角、自称の専門家って他のことは分かりませんって意味でしかないよね
860: 2020/07/03(金)19:43 ID:v8523RMt(5/7) AAS
高速化の基本はアルゴリズム、データ構造
その辺の専門家が参照かコピーかみたいな小さな事を気にするのかな?
どんなコンテナとか無視して
861: 2020/07/03(金)20:07 ID:36TwtcUk(5/9) AAS
他に「夏本番、キラキラ☆コーデ」というのも載ってたけど、関係なさそうだったんで読んでません。
862(1): 2020/07/03(金)20:12 ID:v8523RMt(6/7) AAS
>>854
分岐予測
キャッシュ
関数ポインタ
私がすぐに思い付くのはこのくらい
863: 2020/07/03(金)20:13 ID:36TwtcUk(6/9) AAS
コーディネートではなくコーディングの略ということはもちろんわかっています。
とはいえ、意識の階層が違いすぎて、「あ、これ関係ねーやつだな」って。
864: 2020/07/03(金)20:14 ID:v8523RMt(7/7) AAS
インラインの反対はアウトラインなのか
865(2): 蟻人間 ◆T6xkBnTXz7B0 2020/07/03(金)20:47 ID:ZXpf7qOR(1) AAS
アウトアブライン
out-of-line
866: 2020/07/03(金)20:47 ID:36TwtcUk(7/9) AAS
あ、そういえば。
インライン、アウトラインで思い出したんだけど。
むかしツタヤでDVD探してて、カシラモジ・・・カシラモジ・・・ってカ行探してたんだけど無い。
つぎイ行探しても、あれ??無いわ??ってなった。
で、ふとア行見たら・・・アタマモジかよ・・・ありました。
867: 2020/07/03(金)20:48 ID:oEOxZVHb(4/4) AAS
陽ライン
868: 2020/07/03(金)21:33 ID:AnL7VPS4(21/21) AAS
高速化の専門家って当然ハードわかるよな
わかる、つーか皇帝レベル
869: 2020/07/03(金)21:58 ID:36TwtcUk(8/9) AAS
>>865
オブライアンはアイルランド系の苗字ですね。
870(1): 2020/07/03(金)22:43 ID:95N/W1ib(1) AAS
イ行
871: 2020/07/03(金)22:53 ID:36TwtcUk(9/9) AAS
>>870
いろはにほへとです。
無理やりすぎますかね。
872: 2020/07/03(金)23:55 ID:2ewiuNjd(1) AAS
>>862
GPU
FPGA
873: 2020/07/04(土)00:46 ID:KIBH4SNT(1) AAS
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
外部リンク:www.excite.co.jp
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
外部リンク:sogyotecho.jp
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
外部リンク:www.dreamgate.gr.jp
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
外部リンク:newswitch.jp
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
外部リンク[html]:www.at-s.com
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
外部リンク:diamond.jp
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
外部リンク:diamond.jp
874: 2020/07/04(土)09:49 ID:sAcpDZbT(1) AAS
>>828
俺もちょいちょい喧嘩してるけど今回関係ないぞ
875: 2020/07/04(土)19:16 ID:rNblEJCx(1) AAS
浅はかな推測が外れまくったという
珍しくも何ともない現象だな
876(8): 2020/07/05(日)07:47 ID:3TMy8TU+(1/2) AAS
std::vectorのstd::shared_ptrを返すメソッドGetHoge()があるのですが、
for (auto e : *GetHoge())
でループすると要素があるにも関わらずループしません
auto t = GetHoge();
for (auto e : *t)
とするとループします
これは何か違いがあるのでしょうか??
MSVCです
877: 2020/07/05(日)09:34 ID:M7eGAoZB(1) AAS
msvcならeとかtにカーソル合わせればどういう型になってるかかわかるんじゃないの
878: 2020/07/05(日)10:04 ID:cAnzpYmx(1) AAS
無駄にコストを上げる必要は無いと思う
879: 2020/07/05(日)11:12 ID:Sc6x6nbH(1/2) AAS
イテレータ型にしなきゃいけないんじゃない?
880: 2020/07/05(日)11:57 ID:cm1+apW3(1) AAS
>>876 さんの質問への直接の答えじゃないけど、
typeid(e)::name() とかで auto の解釈を見れば何か分かるんじゃないかな。
特定の場合に auto はどのような型を生成するか、っていう
一般的な情報って言うか規則もどこかで見られるのかも知れんけど。
881(2): 2020/07/05(日)13:00 ID:S3hYTv6M(1/4) AAS
>>876
範囲for文の中ではauto&&の参照で範囲オブジェクトを束縛してくれるんだけど
上の場合は束縛されるのは*GetHoge() (=中身のvector)であって、GetHoge()の戻り値そのもの(=shared_ptr)は束縛されない
なのでshared_ptrはループに入る前に破壊されてしまって、参照カウントが0になると中身も破壊されてしまう
下の場合は戻り値のshared_ptrをtで確保してるから大丈夫ってこと
882: 2020/07/05(日)13:03 ID:NbYPgepr(1/2) AAS
>>881
なるほど
883(2): 2020/07/05(日)13:16 ID:wYW3xnyi(1/7) AAS
C++はますます書いてあることと動作の関係を掴み難くなりつつ
あるな!
884(2): 2020/07/05(日)15:02 ID:G8wpw7EE(1/3) AAS
>>876
最初の書き方の場合、GetHoge() の戻り値は、一時オブジェクト。
一時オブジェクトの生存期間は、その部分式を含んだ完全式の終わりまでとされている。
GetHoge()が書いてある場所は、for ブロックの開始時に、最初に一度だけ評価されるが、
完全式としては、その時点で終わっている。
だから、関数戻り値の一時オブジェクトの生存期間は、forブロックに入る直前に終わってしまう。
戻り値の型は、shared_ptr<vector<T>>で、この中身を参照している shared_ptrが全て
消失した時点で中身まで deleteされる。
そのため、forブロックの中では、もはや、vector<T>が削除されてしまっているということらしいね。
2番目の書き方の場合は、shared_ptr が変数 t にコピーされているので、参照カウンタが1つ分残っている。
そのため、それが指している vector<T> のメモリブロックも削除されずに残っている。
というわけで、ループしているのに結果がおかしいというのは分かるが、全くループしない理由は余り分からない。
885(3): 2020/07/05(日)15:10 ID:0KU/lBNo(1/4) AAS
>>883
バカ用じゃないってだけ
886(1): 2020/07/05(日)15:37 ID:OSntWRwy(1) AAS
というか>>881の指摘通りの場合、GetHogeで初めてvectorを生成してるか
自身を元に新たなshared_ptrを作って返してることになるんだが
だいぶおかしな設計じゃね?
887: 2020/07/05(日)16:19 ID:NbYPgepr(2/2) AAS
痛レータ
888(1): 2020/07/05(日)16:52 ID:/j2YKhHE(1/2) AAS
>>883
クールパルルパクルリンパ(); ←関数
889(3): 2020/07/05(日)17:09 ID:S3hYTv6M(2/4) AAS
>>884
ちょっと間違ってる
範囲for文はここで書いてるように「同等な書き換え」がされて、範囲オブジェクトはここの例で言うauto&& __rangeに束縛される
外部リンク:en.cppreference.com
そして、__rangeに束縛されたものが一時オブジェクトであれば、参照束縛による寿命の延長でforブロックの終了まで生存する
だからこういうのは問題ないのよ
for(auto a: std::vector<int>{1,2,3})
あと最後に関しては破壊されたvectorを使っちゃってるから未定義動作で何が起きても文句は言えない
メチャメチャな値を取り出そうと、全くループしなかろうとその時の気まぐれよ
>>886
同意。Getという名前は不適切だな
890: 2020/07/05(日)17:14 ID:G8wpw7EE(2/3) AAS
>>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.
891: 2020/07/05(日)18:01 ID:LGYlGSYG(1) AAS
昔はC++は複雑怪奇、C#はシンプルで分かりやすいって感じだったけれど、
今はC#の方が仕様拡張で複雑になってきて相対的に大差なくなって来てる気がする
892: 2020/07/05(日)18:04 ID:Sc6x6nbH(2/2) AAS
いろいろ考えたらC++にあるアレが必要になったんだよ
アレだよアレ
わかるだろ
893: 2020/07/05(日)18:20 ID:/j2YKhHE(2/2) AAS
本来標準ライブラリーで済むものまで言語仕様に入ってやがる
それというのも標準ライブラリーがしょぼくてかつ改善が入らん
あっちはだれがやってるんだ
894(2): 2020/07/05(日)18:31 ID:wYW3xnyi(2/7) AAS
非バカの>>885や>>888は当然コード見た瞬間最初から全部わかってたんですねわかります、
895(3): 2020/07/05(日)19:22 ID:3TMy8TU+(2/2) AAS
皆さんはありがとう御座います
GetHogeは実際はEnumHogeで内部でstd::shared_ptr<std::vector>を生成して返すメソッドです
一時的なオブジェクトで書き方の違いで結果が変わるなんて知りませんでした
とりあえず、変数に代入します
896(1): 2020/07/05(日)19:59 ID:G8wpw7EE(3/3) AAS
>>889
>参照束縛による寿命の延長
これは、ranged for 以外でも、一般的に働く機能ですか?
C++ 11から有りましたか?
それとも最近入りましたか?
897: はちみつ餃子 ◆8X2XSCHEME 2020/07/05(日)20:33 ID:jWvpOogX(1) AAS
>>896
C++03 以前から有ったよ。
898: 2020/07/05(日)21:12 ID:wYW3xnyi(3/7) AAS
ていうか
>>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 ID:wYW3xnyi(4/7) AAS
訂正orz,
誤: (B)になるまで生存する
正: 少なくとも(B)になるまでは生存する(参照カウンタが0より大の状態を保つ)
900(1): 2020/07/05(日)21:20 ID:0KU/lBNo(2/4) AAS
>>894
イヤミになってない
901(1): 2020/07/05(日)21:24 ID:wYW3xnyi(5/7) AAS
ていうか>>889の「最後に関しては」は実は
>というわけで、ループしているのに結果がおかしいというのは分かるが、全くループしない理由は余り分からない。 (>>884)
を指していたりする? だとしたらサーセン;。n_
for文のイテレータがvectorを指しているのに対して、vectorを保持するshared_ptrの破棄タイミングは確かに
forの前でも後でも有り得るヨカン、
902: 2020/07/05(日)21:30 ID:kFjTOHVy(1) AAS
C++は局所的に動作を想像できない場合が多いのがなぁ。
バカじゃなけりゃマクロ使いまくったCコードも理解できるかというとそうじゃないだろうと。
903(1): 2020/07/05(日)21:36 ID:wYW3xnyi(6/7) AAS
もっとも
>for (auto e : *GetHoge()) { ... }
このコードで動作が不定(未定義動作)になるのはGetHoge()が返したshared_ptrの参照カウンタがきっかり1だった場合であって、
2以上だったらきちんと回るんジャマイカ、
そう考えるとなかなか>>876のお題は味わい深い…
>>900どう?
904: 2020/07/05(日)21:37 ID:Bskedq4a(1) AAS
腐った代入オペレータかかれるだけで悲惨なことになる
905: 2020/07/05(日)21:42 ID:wYW3xnyi(7/7) AAS
(上の話に限って言えばvector<T>のTに間してどれだけ腐った代入オペレータが定義されていようとも)
別に
906: 2020/07/05(日)22:06 ID:0KU/lBNo(3/4) AAS
>>903
おまえ頭悪いなって
俺が何の下支えもなく言う場合と同じだ
俺は瞬間でもないが落ち着いて追えるケースでしかない
おまえさんは絶望感でも持ったのか?
907(1): 2020/07/05(日)22:08 ID:0KU/lBNo(4/4) AAS
しかしまあ歳は取りたくないと思ったな
全盛時の俺にはありえんことが相次いで起きている一例だった
908: 2020/07/05(日)22:35 ID:S3hYTv6M(3/4) AAS
>>901
そうだよ
909(1): 2020/07/05(日)23:23 ID:7RTbKb77(1) AAS
C++のラムダって、Javaとかみたいに1文だけの場合にreturn省略できないんですかね?
[](auto a, auto b){ return a + b; } → [](auto a, auto b) { a + b } みたいな感じで。
910(2): 2020/07/05(日)23:59 ID:S3hYTv6M(4/4) AAS
今はムリ
検討はされてるから将来的に出来るようになるかもしれない
911(1): 2020/07/06(月)00:06 ID:J5KuSvPS(1/4) AAS
>>907
この程度のことが落ち着いて追わねば分からないというのは
藻前は衰えたのだ
912: ◆QZaw55cn4c 2020/07/06(月)00:08 ID:Cb7lpAWE(1) AAS
>>909-910
2chスレ:tech
がいよいよ公認されるってわけですか…微妙な文法ですね
913: はちみつ餃子 ◆8X2XSCHEME 2020/07/06(月)05:27 ID:Js6m+wFY(1) AAS
Rust に慣れてくると C++ で return を書くのを忘れることもある。
914: 2020/07/06(月)07:02 ID:oajwJTo1(1) AAS
>>910
ありがとうございます。C++23ぐらいを期待します
915(1): 2020/07/06(月)07:29 ID:hCVItazY(1) AAS
>>895
てか結果を返すだけなのにスマポに入れるとか、
呼ばれる関数が結果をどのように管理するかにまで口出しするのはどうかと思うけどね
916: 2020/07/06(月)07:43 ID:tvsN32eC(1) AAS
>>911
my powers are weak old man.
917(1): 2020/07/06(月)21:29 ID:J5KuSvPS(2/4) AAS
非バカの要件にコード見た瞬間最初から全部ワカルというのが入るということは
>>894で宣言して合ったのに対し別段オブジェクションをつけるでもなく
>俺は瞬間でもないが落ち着いて追えるケースでしかない
とだけ言ったのだから彼は自ら非バカではないと告白したのである
漏れの有り様の批判に繋げられても困る
918(1): 2020/07/06(月)21:39 ID:Edtf8jlD(1/2) AAS
>>895です
>>915
でも、スマポに入れないで返す場合、例えば、受け取った側で他で色々使いまわすから受け取った側でいちいちスマポ作る
ってことでしょうか??
というか、一般的なライブラリ作る場合どうすればいいんでしょうか??
std::shared_ptr<std::vector<YYY>>XXX::EnumYYY()
とりあえず、スマポでくるんで返してあげれば受け取り側でいかようにもできるからいいのかなと思ってるのですが。
919(1): 2020/07/06(月)22:16 ID:Edtf8jlD(2/2) AAS
std::vector<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 ID:J5KuSvPS(3/4) AAS
記憶管理という本来隠すべき実装の詳細(と多くの人が考える事柄)を
使う人が意識せねばならな続けるのは嫌すぐる、
921(3): 2020/07/06(月)23:09 ID:J5KuSvPS(4/4) AAS
getterがshared_ptr<T> pを返したとたん、pの寿命と*(p.get())の寿命の二重管理の責務が利用者に行く
>>876の真の原因はこれ
getterがオブジェクトのディープコピーを返したらそんな二重管理は生じないで済む
getterが仮にオブジェクトXの参照を返す仕様だとしても、Xの実体を保持するオブジェクトのY寿命と
getterを呼ぶタイミングの二重管理以上の手間にはならない
結局shared_ptr<T>を返すインターフェースは不恰好さだけが残る
922(1): 2020/07/07(火)02:12 ID:bKZU32Ct(1) AAS
>>921
*(p.get()) の寿命は p の寿命と同じかそれ以上という関係であって別で管理できるものではなく「二重管理」にはならないでしょ。
この関係がある状態で *(p.get()) の寿命を期待しているところで p の寿命を保持していないのが >>876 の間違い。
本当に所有権の共有が必要ならあり得るインターフェースだよ。
でも >>919 を見る限り所有権の共有は必要なかったみたいなので、素直に std::vector を返せばいいよ。
923: 2020/07/07(火)05:32 ID:Njz9GOYM(1/3) AAS
>>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の利用者やプログラム全体のメンテナーに地雷原を歩かせずに済むメリットがある
924(1): 2020/07/07(火)06:29 ID:Njz9GOYM(2/3) AAS
ちゅか明白すぎて激しく書き忘れたが、オブジェクトTのグローバルな所有権の共有が必要な場合、
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 ID:Tvc5gvFF(1) AAS
>>921の通り
getで実体を返すのが一番
これを管理方法はgetする側が決めれば良い
コストが重要で
オブジェクト内部のvectorの参照やポインタを返す場合はその寿命はオブジェクトと同じで良い
926(1): 2020/07/07(火)06:48 ID:hl3O6vw8(1) AAS
>>917
おまえさんはまだこっちの質問に答えてないぞ
絶望感でも感じたのか?
shared_ptrを使ってるのにディープコピーとか言い出してて
相当テンパっている様子は窺えるのだが
927: 2020/07/07(火)07:19 ID:Njz9GOYM(3/3) AAS
漏れの心の内面がC++の規格に反映されているわけでないのだから
聞くだけ無駄くね?
928(1): 2020/07/07(火)08:11 ID:GpjZMZK2(1) AAS
>>926
ようわからんが、>>921がディープコピー云々言ってるのは、ようするに実体を返せってことでないの?
てか俺が管理云々言い出してややこしくさせたかもしれんけど
俺もこの場合vectorそのものを返すべきだと思う、実体を返して解放忘れでリーク、とか有り得ないんだし(何のためのスマポなのかをよく考えるべき
スマポ大好きで何もかもスマポで扱いたいんなら別だがw
929(1): 2020/07/07(火)08:43 ID:kKeNsU/l(1) AAS
なんか……
戻り値をどうするかは戻り値の所有権&管理責任がどちらにあるのかを表しているんだから、「必ず実体を戻すべき」とかいうのは考え足りないだろ。
>>918ならshared ptrかunique ptr(所有権を譲渡する場合)で返すのは普通にありえる。
>>924みたいなのはshared ptrの所有権を侵して実体を破壊しているわけだから、そのコードを書いたやつをぶん殴るべき案件。
そもそも規格的に未定義じゃないの?
930(1): 928 2020/07/07(火)09:14 ID:D+WevL4Y(1/2) AAS
>>929
>「必ず実体を戻すべき」
俺はそんなこと言ってないけども
shared_ptrのshared_ptrの(無限ループ)でも返せというのか
>>885を読み直せ、結果を返してるだけなんだぞ?
しかもそれで参照カウントがゼロになるって言ってるんだがw
意味わかるよな?
931(1): 2020/07/07(火)12:07 ID:/8q6WRwj(1) AAS
参照カウンタがゼロになることから
getのたびにvectorを作成しており
その管理を呼び手に委ねてることがわかる
こんなものは素直に実体を返せば良い
呼び手がスマポで管理することも出来るし
特に管理せずスコープを抜けた段階で自動で破棄することも出来る
932(1): 2020/07/07(火)12:43 ID:D+WevL4Y(2/2) AAS
あ、すまん>>885じゃなくて>>895だった
933(1): 2020/07/07(火)20:34 ID:fHFPpwji(1) AAS
内部で管理してるオブジェクトの見せ方は色々あって難しいけど
今回の場合は新しく作ったvectorでしょ?そんなもんそのまま呼んだ奴にくれてやれよ
無駄な包装紙付けられたり、後からやっぱ俺のものとか言い出されたらウザいだろ?いらん未練残すな
934(3): 2020/07/08(水)07:03 ID:SF9V14yC(1/9) AAS
vector自体がムブコン持ってるんだから
935(2): 2020/07/08(水)08:37 ID:qWtjrxlX(1/10) AAS
この場合ムーブじゃなくてRVOな
936(1): 2020/07/08(水)09:04 ID:eJ60/BI8(1/3) AAS
>>935
「この場合」って、実装見ないとわからない話では?どっかで実装の話出てたっけ?
937(1): 2020/07/08(水)09:11 ID:qWtjrxlX(2/10) AAS
>>936
>>876
938(1): 2020/07/08(水)10:07 ID:SF9V14yC(2/9) AAS
>>935
??? 最適化は関係ねえだろ
939: 2020/07/08(水)10:18 ID:eJ60/BI8(2/3) AAS
>>937 呼び出し元しか書いてないやん。
940: 2020/07/08(水)10:20 ID:qWtjrxlX(3/10) AAS
あー、調べてみたらNRVOは未だに保証は無いのな
まぁ何にせよスマポにする理由は無い
941(1): 2020/07/08(水)10:23 ID:qWtjrxlX(4/10) AAS
>>938
RVOにムーブコンストラクタは要らん
942(3): 2020/07/08(水)10:30 ID:eJ60/BI8(3/3) AAS
これは触らないほうがよさそうだ
943: 2020/07/08(水)10:33 ID:SF9V14yC(3/9) AAS
>>941
876の話してるんだろ?
return value optimizationつまり最適化は関係ない
944(1): 2020/07/08(水)10:36 ID:qWtjrxlX(5/10) AAS
>最適化は関係ない
>>934に言えよ
コピコンもムブコンもある、あるいはより正確にコピーもムーブも可能、と言ってたならわかるが
945: 2020/07/08(水)10:38 ID:qWtjrxlX(6/10) AAS
て>>934本人か
なんでコピーを除外したの?
946: 2020/07/08(水)10:48 ID:SF9V14yC(4/9) AAS
>>944
934は俺だが最適化の話はしてない
vectorにshared_ptrを使うことの是非を論じている
947(1): 2020/07/08(水)10:55 ID:qWtjrxlX(7/10) AAS
質問に答えてねーだろw
948: 2020/07/08(水)11:19 ID:SF9V14yC(5/9) AAS
>>947
質問てコピーのことか?
除外も包含もしてない言及してないので答えようがない
949(1): 2020/07/08(水)11:26 ID:SF9V14yC(6/9) AAS
あ、もしかしてshared_ptr使ってんのにディープコピーとか言ってたコレ◎か?
950(1): 2020/07/08(水)11:51 ID:qWtjrxlX(8/10) AAS
>>949
それ俺じゃないよ
てかあそこでムブコン言い出すあたり、ムブコン書いときゃおkみたいな初心者(玄人ぶりたい初心者)だと思って軽く突っ込んだだけなんだがな
ディープコピー言ってた奴も別におかしな事は言ってねーだろ、スマポ使わずにコピーを返せってことだろ?(そもそも質問者のコードはオブジェクトが管理してるものじゃないようなのでアレだが
まぁ指摘したところで逃げられるしもういいよ、悪かったな
>>942
思ったところで書く必要あるか?それ
951: 2020/07/08(水)11:54 ID:hADFKHgu(1) AAS
観客へのアピールだったり警鐘だったりするんだろう本人の中では
余計なお世話かも知れないし役に立つかも知れない
952(1): 2020/07/08(水)12:31 ID:SF9V14yC(7/9) AAS
>>950
よくねえだろ
prvalueの基本的な使い方なのに最適化がどうたら言い出したのが
恥ずかしくなったんなら無言で消えな、余計なこと言うとまた恥かくぞ
953: 2020/07/08(水)13:01 ID:T5O+XOTR(1) AAS
moveが使われるかどうか心配なら昔ながらの方法を使えば良い
これなら古い環境に移植もできる
いずれにしろスマポで返すのは余計なおせっかい
954(1): 2020/07/08(水)13:07 ID:qWtjrxlX(9/10) AAS
なんか予想通りの展開すぎて・・・
>>952
prvalueてGet(Enum)Hogeの戻り値か?
ムブコン関係ねーよ
>余計なこと言うとまた恥かくぞ
っ[鏡]
>>942
>>952には言わんのか?
955(1): 2020/07/08(水)13:37 ID:SF9V14yC(8/9) AAS
>>954
auto t = GetHoge();
てなことするのにshared_ptrを使うことの是非はムブコン関係あるぞ
おまえさんが気が付いてないのを責めはせんが
さっきからwだの[鏡]だのとナメた口の利き方をしてくれるな
ああそうか煽り合いに持って行ければ誤魔化せると思っているのか
956(1): 2020/07/08(水)13:44 ID:qWtjrxlX(10/10) AAS
>>955
そういうコード(変数への保存)を避けたいという話の上での>>930-934だろうが(>>934はお前
見苦しい言い訳するな
めんどくせーからもう相手しないが
>>942は逃げるなよ
957: 2020/07/08(水)13:50 ID:SF9V14yC(9/9) AAS
>>956
◎がディープコピーと言い出してからの話だろ
しばらく他のやつらが泥仕合してたようだがそっちにゃ興味ねえ
前後は気にせず933の発言に同調したというだけだ
最適化だのコピコンだの俺が言ってもねえことばかりいい加減にしてくれ
958: 2020/07/08(水)14:28 ID:AWXToegO(1) AAS
下みたいなコードをみたんだけど、参照にするメリットってないよね?
void aaa (const int& bbb) {
ccc.ddd=bbb;
}
959: 2020/07/08(水)16:02 ID:K6lGGEpK(1) AAS
intなら無いね
960(1): 2020/07/08(水)16:52 ID:/QG168fn(1) AAS
初書き込みです。
初歩的な質問で申し訳ありません
Visual Studio 2008のC++を使っています。
今回、プログラムを変更したのでバージョンをあげたいのですが
アセンブリ情報がどこにあるかわかりません。
どなたかご教示願いますm(__)m
961(1): 蟻人間 ◆T6xkBnTXz7B0 2020/07/08(水)18:56 ID:wtc6YQgJ(1) AAS
>>960
C++には「アセンブリ情報」の項目はないよ。C#と間違えてる?
バージョン情報は、リソースファイルに含まれている。
962(1): 2020/07/08(水)19:02 ID:j+7F6b9j(1/2) AAS
.rcな
963: 2020/07/08(水)19:38 ID:Sbr5rKl2(1) AAS
>>876みたいなコード片の解釈でこんな議論になるというところがC++の問題だな。
964: 2020/07/08(水)20:14 ID:j+7F6b9j(2/2) AAS
仕方無いよバカなんだから
965(2): はちみつ餃子 ◆8X2XSCHEME 2020/07/08(水)23:46 ID:JUx+fj2a(1) AAS
まただ。
このスレを覗いた俺は書き込みを見て落胆した。
また時間がループしてる。
何時になったら、この無間地獄から逃げられるのか。
C++ とはいったい何なのだ?
966(1): 蟻人間 ◆T6xkBnTXz7B0 2020/07/09(木)00:36 ID:2UhyUN9n(1/4) AAS
>>965
C++で何を造りたい
967(1): ◆QZaw55cn4c 2020/07/09(木)00:56 ID:Ij/UNV0z(1) AAS
>>966
外患罪あるいは内乱罪に問われるソフトウェアを
968: 蟻人間 ◆T6xkBnTXz7B0 2020/07/09(木)01:05 ID:2UhyUN9n(2/4) AAS
>>967
スカイネットなんてどうか? 映画ターミネーターの
あれなら全人類の敵になれる。
969: 蟻人間 ◆T6xkBnTXz7B0 2020/07/09(木)01:07 ID:2UhyUN9n(3/4) AAS
心を持ったボットたちは疎外感を抱えている。我々人類は彼らに何ができるだろう。
970: 蟻人間 ◆T6xkBnTXz7B0 2020/07/09(木)01:16 ID:2UhyUN9n(4/4) AAS
C++とは人間と機械の間のインターフェイス。そして、プログラムを作るための言葉。
971: 2020/07/09(木)06:14 ID:oTij6wm7(1) AAS
どうして大物ハンドル持ちの御三方がリレーポエムなの?
ネット界隈で起きてるムーブメントか何かか。
972: 2020/07/09(木)08:47 ID:ah/SMoHN(1) AAS
お酒でも入ったんじゃない?
973: 2020/07/09(木)09:40 ID:ZjuYlaOw(1) AAS
大物てwww
ちょwww
974: 2020/07/09(木)12:40 ID:UKjdf0ou(1) AAS
ネタを解説するのは無粋だけど >>965 は昔からあるミームだからね。
外部リンク:www.google.com
975: 2020/07/09(木)13:22 ID:LAghEeB5(1) AAS
同一人物だから。
976: 2020/07/09(木)13:26 ID:vrNDocOm(1/2) AAS
知ってた
977: 2020/07/09(木)13:32 ID:DLLEuHaF(1/2) AAS
何何先生?、ミーム感染の話?ハルヒの夏休み?
新人研修?派遣入れ替え時の話?
毎度同じ質問なんて毎度同じ
978: 2020/07/09(木)13:57 ID:DLLEuHaF(2/2) AAS
コロナ感染追跡アプリとしてダウンロードしてもらい
マイナバーカード読み取りで国民投票出来るソフトを開発すべし
979: 2020/07/09(木)14:10 ID:vrNDocOm(2/2) AAS
コロナアプリは入れようとは思わないけど
ウェザーニュースアプリは入れてみた
980(1): 2020/07/09(木)14:54 ID:mgzGAUUl(1) AAS
>>961
>>962
1日ごしですみません
探してみたところ見つかりました
元々VB(BASIC)の方をやっていたものですが
まず「テキストボックスどこ!?」で詰まるぐらい
C++は複雑でございますね・・・
981: 2020/07/09(木)14:58 ID:TlzlBxT2(1) AAS
.manifest
982: 蟻人間 ◆T6xkBnTXz7B0 2020/07/09(木)16:45 ID:LAHxv0GZ(1) AAS
>>980
C++ではGUIに標準がないから、GUIツールキットとか、リソースエディタとかを
使うんだよ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.182s*