[過去ログ]
C++相談室 part164 (1002レス)
C++相談室 part164 http://mevius.5ch.net/test/read.cgi/tech/1683600652/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
913: デフォルトの名無しさん (ワッチョイ 1934-egvn) [sage] 2023/10/21(土) 01:04:06.34 ID:m23W7dra0 >>912 が優劣について数字を出して語ってくれるそうです どうぞw http://mevius.5ch.net/test/read.cgi/tech/1683600652/913
914: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8da2-+JM7) [sage] 2023/10/21(土) 02:43:39.26 ID:WDz67hDs0 C++ はある程度は汚いものだろう。 隅々まで綺麗にしようと腐心するよりは 少なくとも部品のインターフェイスくらいはまともにして 外側に対しては綺麗なふりをするくらいが手頃な妥協点だと思う。 逆にミクロ的にスマートに書けていても 抽象化が駄目だと使いにくいよ。 内も外も綺麗ならそれに越したことはないけど そうもいかないのが現実だからね。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/914
915: デフォルトの名無しさん (ワッチョイ d563-KkNu) [sage] 2023/10/21(土) 08:17:46.79 ID:pQG7G9ym0 >>906 天才か! なんかこの前動かしたら駄目だった気がしたけど 今やったら動いたわサーセン;;; http://mevius.5ch.net/test/read.cgi/tech/1683600652/915
916: デフォルトの名無しさん (オイコラミネオ MMbd-JD/u) [sage] 2023/10/21(土) 12:13:35.82 ID:3FTa9ZLeM vectorなのかvecなのかは言語開発者がそうと決めたからそうなってるだけ 昔はコード補間もなくx-windowのアホみたいな長い呪文APIぶち込んでたけど今もそれだったらぶち切れてる 意外なことに開発環境が変わればいろいろ変わる http://mevius.5ch.net/test/read.cgi/tech/1683600652/916
917: デフォルトの名無しさん (オイコラミネオ MMbd-JD/u) [sage] 2023/10/21(土) 12:24:11.96 ID:3FTa9ZLeM 今windowの更にクソ長い基地外じみたAPI打ってるのもコード補完があるから http://mevius.5ch.net/test/read.cgi/tech/1683600652/917
918: デフォルトの名無しさん (アウアウウー Sa09-mHTC) [sage] 2023/10/21(土) 13:25:34.47 ID:oEOsfkqwa 名前の長い短かいについては上述のとおり技術の進歩、開発環境の変化で落しどころがかわってくるが 俺的にはむしろネーミングのセンスのほうが気になる 俺がまだフサフサだったころはイキって一般によく使われる単語とちょっと違う単語をわざわざ探すようなことをしていたが 頭髪が薄くなるに従ってそういうことはくだらない事と思うようになり 今はできるだけベタな誰が見ても即座に意味がつかめる、あえてダッサいネーミングをするよう心がけてる 例:データを吸いあげて収納するメソッド名 フサフサ俺がつけがちな名前 → .BeamMeUp() ハゲ俺がつける名前 → .LoadData() http://mevius.5ch.net/test/read.cgi/tech/1683600652/918
919: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8e3e-exru) [sage] 2023/10/21(土) 13:28:07.89 ID:lPxmC+mr0 >>915 std::vector のイテレータの場合に限らず ランダムアクセスイテレータは difference_type との加算が出来ることになってる。 https://timsong-cpp.github.io/cppwp/n3337/iterator.requirements#tab:iterator.random.access.requirements http://mevius.5ch.net/test/read.cgi/tech/1683600652/919
920: デフォルトの名無しさん (ワッチョイ 19f2-awtI) [sage] 2023/10/21(土) 13:55:07.32 ID:QfWCszfk0 >>918 仕事でやってたら初日で怒られるレベル http://mevius.5ch.net/test/read.cgi/tech/1683600652/920
921: デフォルトの名無しさん (ワッチョイ 7a79-Idv/) [sage] 2023/10/21(土) 14:25:15.02 ID:ifbOBJO10 >データを吸いあげて収納する ハゲなのに5W1Hすら知らないと見える http://mevius.5ch.net/test/read.cgi/tech/1683600652/921
922: デフォルトの名無しさん (ワッチョイ 8eca-ANn9) [] 2023/10/21(土) 19:03:13.06 ID:l7vz3TvG0 恥ずかしながら学生の頃はドイツ語で命名してましてねフフフ http://mevius.5ch.net/test/read.cgi/tech/1683600652/922
923: デフォルトの名無しさん (ワッチョイ 0105-SFbe) [sage] 2023/10/21(土) 19:20:36.30 ID:5c+gSFSX0 korewahennsuudesu http://mevius.5ch.net/test/read.cgi/tech/1683600652/923
924: デフォルトの名無しさん (ワッチョイ d563-KkNu) [sage] 2023/10/21(土) 20:59:24.58 ID:pQG7G9ym0 >>919 レス引用が分かりにくくてスマンカッタorz そこではなくて挿入位置にsize()まで指定してたら末尾に要素が追加にできるところ std::vector<int> vec = { 1, 2, 3 }; vec.insesrt(vec.begin() + vec.size(), 4); cout << vec << endl; // ( 1 2 3 4 ) http://mevius.5ch.net/test/read.cgi/tech/1683600652/924
925: デフォルトの名無しさん (ワッチョイ 6501-6i8i) [] 2023/10/21(土) 21:41:14.77 ID:BercqiEL0 ラズパイレートでいうと 民主党政権の頃は1ドル80円だったけど いまは1ドル200円 http://mevius.5ch.net/test/read.cgi/tech/1683600652/925
926: デフォルトの名無しさん (ワッチョイ 6501-6i8i) [] 2023/10/21(土) 21:41:30.90 ID:BercqiEL0 ラズパイレートでいうと 民主党政権の頃は1ドル80円だったけど いまは1ドル200円 http://mevius.5ch.net/test/read.cgi/tech/1683600652/926
927: デフォルトの名無しさん (ワッチョイ 6501-6i8i) [] 2023/10/21(土) 22:50:32.79 ID:BercqiEL0 >>921 5W1HはMITが提唱したんじゃなかったっけ http://mevius.5ch.net/test/read.cgi/tech/1683600652/927
928: デフォルトの名無しさん (ワッチョイ 1590-wvhw) [sage] 2023/10/22(日) 12:33:14.88 ID:x1FYC/BU0 変数でも関数でも 初見もしくは内容忘れた自分が 読んだとき何をやってるか分かるような名前付けが大事だと思う よって長さは常識の範囲内なら長い方が良いかな どうでもいいループ変数にindex2SearchArgumentHaystackとか 書いてたら殺意を覚えるけどさ http://mevius.5ch.net/test/read.cgi/tech/1683600652/928
929: デフォルトの名無しさん (オイコラミネオ MMbd-JD/u) [sage] 2023/10/22(日) 17:33:51.66 ID:Ih9eQULqM GetSelectedPersonDataFromLiveDBIfNotExistsReadDefaultValueFromSettingFileType2022Ex http://mevius.5ch.net/test/read.cgi/tech/1683600652/929
930: デフォルトの名無しさん (ワッチョイ 0105-SFbe) [sage] 2023/10/22(日) 17:36:33.94 ID:+fVR99EM0 = 1 ; http://mevius.5ch.net/test/read.cgi/tech/1683600652/930
931: デフォルトの名無しさん (ワッチョイ 6501-6i8i) [] 2023/10/22(日) 19:20:31.79 ID:/8xzlJDV0 モジュールはまだ使えんのか? http://mevius.5ch.net/test/read.cgi/tech/1683600652/931
932: デフォルトの名無しさん (ワッチョイ 8e3b-xUKY) [] 2023/10/22(日) 20:40:59.32 ID:XK8cC57k0 リテラルで簡潔に書けるのでみんな初期化子リストばんばん使ってると思うけど initializer_listって必ずコピーが発生するのな non copyableなクラスが使えなくて不便なんだが、回避策ない? http://mevius.5ch.net/test/read.cgi/tech/1683600652/932
933: デフォルトの名無しさん (ワッチョイ 5d01-46Vy) [sage] 2023/10/22(日) 20:47:43.40 ID:tZaS4o4u0 >>932 >non copyableなクラスが使えなくて不便なんだが、回避策ない? moveすれば? http://mevius.5ch.net/test/read.cgi/tech/1683600652/933
934: デフォルトの名無しさん (ワッチョイ 8e01-tEca) [sage] 2023/10/22(日) 23:26:18.52 ID:XK8cC57k0 >>933 できないんだよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/934
935: デフォルトの名無しさん (ワッチョイ 5d01-46Vy) [sage] 2023/10/22(日) 23:33:55.26 ID:tZaS4o4u0 >>934 ??? どんなコードで問題出てるの? http://mevius.5ch.net/test/read.cgi/tech/1683600652/935
936: デフォルトの名無しさん (ワッチョイ 8e3b-xUKY) [] 2023/10/23(月) 01:32:53.76 ID:sueaiNV30 >>935 https://wandbox.org/permlink/n0KXbXrmLzHDl6KU 次のコードがコンパイルできない struct A { A(int) {} A(const A&) = delete; }; int main() { std::vector<A> v = { 1, 2, 3 }; } http://mevius.5ch.net/test/read.cgi/tech/1683600652/936
937: デフォルトの名無しさん (ワッチョイ 1998-awtI) [sage] 2023/10/23(月) 05:17:34.59 ID:RG/DfB7W0 >933, >>935 https://www.google.com/search?q=initializer_list+move クソ回答する前にググれよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/937
938: デフォルトの名無しさん (ワッチョイ 5d01-46Vy) [sage] 2023/10/23(月) 09:29:50.40 ID:9KLj8HWs0 >>936,937 あれ? $ cat test.cpp #include <iostream> using namespace std; struct A { A () {cout << "construct" << endl;} A (const A &p) = delete; A (A &&p) {cout << "move" << endl;} }; void func (initializer_list <A> p) { cout << "func" << endl; } int main () { A a0; A a1; func ({move (a0), move (a1)}); return 0; } $ g++ test.cpp $ ./a.out construct construct move move func http://mevius.5ch.net/test/read.cgi/tech/1683600652/938
939: デフォルトの名無しさん (ワッチョイ 5d01-46Vy) [sage] 2023/10/23(月) 10:27:22.01 ID:9KLj8HWs0 だめかなぁ... #include <vector> struct A { A(int) {} A(const A&) = delete; A(A&&) = default; }; std::vector <A> construct (std::initializer_list <A> p) { std::vector <A> result; for (auto itr {p.begin ()}, end {p.end ()}; itr != end; ++ itr) result.push_back (std::move (const_cast <A &> (*itr))); return result; } int main() { std::vector<A> v = construct ({ 1, 2, 3 }); } http://mevius.5ch.net/test/read.cgi/tech/1683600652/939
940: デフォルトの名無しさん (ワッチョイ 4eda-CTkJ) [sage] 2023/10/23(月) 11:36:11.62 ID:OKLUF2xV0 >>936 コピコン消したいなら代入オペレータ用意してやらんとダメだろ http://mevius.5ch.net/test/read.cgi/tech/1683600652/940
941: デフォルトの名無しさん (ワッチョイ 1a20-ANn9) [sage] 2023/10/23(月) 13:23:41.68 ID:1EMVV/4H0 initializer_list<A&&>が作れないから波括弧初期化できないって話か なるほどね http://mevius.5ch.net/test/read.cgi/tech/1683600652/941
942: デフォルトの名無しさん (ワッチョイ 19f4-awtI) [sage] 2023/10/23(月) 19:21:53.26 ID:RG/DfB7W0 initializer_list作るとこまでは出来てもムーブで取り出せないのよ だからvectorのコンストラクタにinitializer_listで渡すとエラー出るし、>>939のように const外して一つずつ突っ込むとかしなきゃいけなくなる ムーブ可能にする提案は出てるらしいけど https://cpplover.blogspot.com/2014/11/2014-10-pre-urbana-mailings-n4160-n4169.html?m=1 http://mevius.5ch.net/test/read.cgi/tech/1683600652/942
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 60 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s