1 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:53:02.14 ID:FOAGvAbs.net] 次スレを立てる時は本文の1行目に以下を追加して下さい。 !extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part135 https://mevius.5ch.net/test/read.cgi/tech/1522495206/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1509780815/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) ----- テンプレ ここまで ----- VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:55:20.65 ID:FOAGvAbs.net] スレ作ってみましたが、これ設定間違ってますか? ワッチョイほにゃららが出てきてない。
3 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 18:42:45.47 ID:p9pW3bxe.net] >>1 乙 スレの立て方は一番上に書いてある。 前スレや関連スレへのリンクも間違ってるぞ。
4 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 18:59:13.88 ID:tzAF1ivs.net] ヘタクソかよ
5 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 20:33:07.04 .net] スレ立て苦手か?
6 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 20:48:45.99 ID:6fifTYMf.net] >>1 乙 ume
7 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:34:02.24 ID:xV7EJA5w.net] 前スレの 1N2GRIlb0 ディスクキャッシュに入ってるってずいぶん前からわかってたのに 何でムダな作業をやらせたの?
8 名前:デフォルトの名無しさん [2018/07/14(土) 21:38:31.07 ID:1N2GRIlb.net] このスレの知恵遅れたちが どんだけ頭悪いのかよおく分かっただろ 同じ計算機で2秒で終わるような読みこみ処理で 数十秒かかるとかいってたワケだからな 相当オツムが弱い このスレは知恵遅れしかいない
9 名前:デフォルトの名無しさん [2018/07/14(土) 21:41:09.27 ID:1N2GRIlb.net] いまになって 分かってたとかいいだしてるしな ディスク読む時間に知ったかぶって調子こいてた知恵遅れは どこいったの?
10 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:42:37.85 ID:xV7EJA5w.net] ん? 何度も指摘してたけど
11 名前:デフォルトの名無しさん [2018/07/14(土) 21:43:13.23 ID:1N2GRIlb.net] 嘘コケ ハゲ 知恵遅れは前のスレ読んで出直してこいや
12 名前:デフォルトの名無しさん [2018/07/14(土) 21:45:09.81 ID:1N2GRIlb.net] ハードディスクの内側読みこんで読みこみ時間がどうとかいってた バカいる?
13 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:45:30.57 ID:xV7EJA5w.net] 測らせるならキャッシュに無い状態にしないとアホだろ
14 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:46:18.02 ID:xV7EJA5w.net] はじめはキャッシュに入って無いんだから
15 名前:デフォルトの名無しさん [2018/07/14(土) 21:46:29.73 ID:1N2GRIlb.net] むしろなバカが指南した方法やコードでは キャッシュのっかても数十秒かかってたってことだぞ
16 名前:デフォルトの名無しさん [2018/07/14(土) 21:48:09.38 ID:1N2GRIlb.net] このスレで教えを乞うてるヤツは 何度もデバッグで走らせてるハズのに 知恵遅れの方法やコード数十秒かかるってことだ オレのは2秒かからない 知恵遅れは息してる?
17 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:48:37.29 ID:xV7EJA5w.net] 測定した結果は fgetsの17秒とreadの1〜2秒しか無い 普通に読むだけで数十秒なんて測定結果は無い
18 名前:デフォルトの名無しさん [2018/07/14(土) 21:49:17.53 ID:1N2GRIlb.net] 読み方次第で差は歴然と出る オレの方法は最適な方法だからな
19 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:50:16.06 ID:xV7EJA5w.net] fgetsは速いとか言ってなかった? 今遅いことが証明されてるのはfgetsだけ
20 名前:デフォルトの名無しさん [2018/07/14(土) 21:50:39.19 ID:1N2GRIlb.net] やっぱり知恵遅れはなにも分かってないわ まず自分が呼んでる関数がどんな動作してるか分かってないからな
21 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:51:14.96 ID:xV7EJA5w.net] 何の工夫もないただのreadで2秒なら、 他の方法も読むだけなら2秒
22 名前:デフォルトの名無しさん [2018/07/14(土) 21:51:37.65 ID:1N2GRIlb.net] やっぱりこのスレは 相当な知恵遅れしかいない CもC++も何も分かってない それ以前の問題
23 名前:デフォルトの名無しさん [2018/07/14(土) 21:53:57.67 ID:1N2GRIlb.net] 測定結果ででてるからな 相当な速度で速く読みこみたいのに標準関数のファイルポインタ使う知恵遅れなんか まずいない ファイルポインタ使う標準関数は このスレにいる知恵遅れにでも簡単に使えるように openやread使って使いやすく作ってあるだけだからな
24 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:54:36.27 ID:xV7EJA5w.net] fgetsが速いとか言ってたアホが readとfreadの差を強調する オーバーヘッドのオーダーは1 読み込みバッファが常識的なサイズであれば無視できる fgetsのオーバーヘッドのオーダーはn バッファサイズによらずオーバーヘッドは無視できない
25 名前:デフォルトの名無しさん [2018/07/14(土) 21:55:42.62 ID:1N2GRIlb.net] まずfreadもバッファもってるのすら分かってないからな
26 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:56:36.36 ID:xV7EJA5w.net] freadで測定させれば証明出来るが で、 もともと測りたかったディスクアクセスの時間は? まさかキャッシュに入った状態が普通と考えてるわけではあるまい
27 名前:デフォルトの名無しさん [2018/07/14(土) 21:56:51.40 ID:1N2GRIlb.net] ファイルポインタがもってるバッファから いちいちこっちのバッファにコピーしてんのに まずその程度のことすら分かってない
28 名前:デフォルトの名無しさん [2018/07/14(土) 21:57:27.49 ID:1N2GRIlb.net] 相当頭が悪いのが 知ったかぶってるのは分かる
29 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:58:58.41 ID:xV7EJA5w.net] 測って見ればわかるって で肝心の
30 名前:解析コードはどうした? 糞遅いコードを自信満々にあげてたけど [] [ここ壊れてます]
31 名前:デフォルトの名無しさん [2018/07/14(土) 22:00:01.80 ID:1N2GRIlb.net] クソ遅い? オレのコードを動かして速度測定したの? オレより10倍以上低速に作る才能がある知恵遅れのくせに
32 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:03:31.04 ID:xV7EJA5w.net] 糞遅い 間違い無い お前の環境で15GBのテキストを作って解析時間を測ってみな
33 名前:デフォルトの名無しさん [2018/07/14(土) 22:10:21.76 ID:1N2GRIlb.net] とりあえず 知恵遅れはほっといて テストデータをジェネレートするコードを 前スレの内容読んでテキトーに作った https://ideone.com/cPZvWL baka_genでコンパイルすれば大量のテストデータを作ってくれる優れものだ ※ 指定ギガバイト数越えたら、1つのセクション書ききったら停止する 使い方 Usage:baka_gen <fileparh> <GB size> 出力されてる形式に問題がないかみといてくれ 形式が分からないと解析処理を作りようがない 明日からこのテストデータを解析する処理を作る
34 名前:デフォルトの名無しさん [2018/07/14(土) 22:11:40.89 ID:1N2GRIlb.net] まず知恵億れはなにと比較して遅いとか書かないからな オレは知恵遅れが書いたコードより少なくとも10倍以上速い処理を書いてる
35 名前: mailto:sage [2018/07/14(土) 22:17:02.80 ID:CBXc6tpD.net] >>32 なんか error がいっぱい出ているようだが…
36 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:17:16.55 ID:xV7EJA5w.net] 15GBのテキストの解析で8.6秒 これを越えればいい
37 名前:デフォルトの名無しさん [2018/07/14(土) 22:17:46.97 ID:1N2GRIlb.net] なんのエラー書けよ エラーとかいわれても分かるワケがないだろ ヴォケ
38 名前:デフォルトの名無しさん [2018/07/14(土) 22:18:22.90 ID:1N2GRIlb.net] で、そのコードはったのかオマエは
39 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:19:29.69 ID:xV7EJA5w.net] >>33 fgets 17秒 これは俺じゃない キャッシュに入ったデータの読み込み時間 と ディスクからの読み込み時間 とを比べて10倍とか言ってるの?
40 名前: mailto:sage [2018/07/14(土) 22:19:38.05 ID:CBXc6tpD.net] >>36 >>32 https://ideone.com/cPZvWL の下の方にいっぱい書いてあるぞ?本当にコンパイルの通るコードなのか?
41 名前:デフォルトの名無しさん [2018/07/14(土) 22:20:14.44 ID:1N2GRIlb.net] 8.6秒とかテキトーなことなら なんとでもいえるからな どんなファイル読んで どんなソース作ったわけ? ファイル形式ちゃんとわかってんの
42 名前:デフォルトの名無しさん [2018/07/14(土) 22:22:08.48 ID:1N2GRIlb.net] 適切なインクルードファイルを上に書けば 間違いなく通る ココで教えを乞うているバカですら それぐらいのことやってる オマエはそれ未満だ
43 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:26:38.36 ID:xV7EJA5w.net] テキストのほとんどが数値の行 10%の割合でx, yの行 セクションは全部で100個くらい 数値は乱数で作成した 実際の分布を考えて、 桁数によって出現率を変えてある 異常データでも不正アクセスしない 文字コードはS-JIS 改行はLFのみ
44 名前: mailto:sage [2018/07/14(土) 22:27:16.82 ID:CBXc6tpD.net] >>41 「unknown type name ‘size_t’」がインクルードファイルで直る問題なのか? ideone に怒られないコードが書けないのか?
45 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:29:41.45 ID:xV7EJA5w.net] 数値は符号付き32bitに収まる値で printf("%d", n); で出力される文字列と同じ書式
46 名前:デフォルトの名無しさん [2018/07/14(土) 22:31:59.85 ID:1N2GRIlb.net] https://ideone.com/hi8bYd ヘッダファイルを適切にインクルードしたら 普通にエラーメッセージ消えたぞ バカはなにをいってるのか意味が分からないワケ
47 名前:デフォルトの名無しさん [2018/07/14(土) 22:33:55.81 ID:1N2GRIlb.net] なんか知恵遅れがバカみたいなレスをブ
48 名前:ツブツ書いてるし ごちゃごちゃいってないでコードあげたらどうだ [] [ここ壊れてます]
49 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:35:19.66 ID:xV7EJA5w.net] シングルスレッド、順番に全文字スキャンの処理で 処理時間は1文字平均約2クロック (Haswell) 最適化的にはこれが出発点 さらに高速化する価値がある処理であれば マルチスレッド,GPU, AVX ... まだまだ高速化の余地はある
50 名前:デフォルトの名無しさん [2018/07/14(土) 22:36:12.81 ID:1N2GRIlb.net] また知恵遅れがテキトーなこといってるしな
51 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:49:17.06 ID:5xFWH4XP.net] 残念ながらクソシンタックスが増えれば増えるほどアホでもテクニカルターム使って アホと思われない活動が可能になって行くんだよ。
52 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:49:14.70 ID:p2p9fdhp.net] >>32 ,45 サンプルデータ作成コードありがとうございます。 実行してみましたが面白いですねこれ。 完成したら数十ギガのデータ作って遊んでみたい。 サンプルデータができて説明しやすくなったので色々補足させていただきます。 ちょっと細かい内容になるので、今あるサンプルデータ作成コードを 使用されても問題ありません。 文字コードはutf8 or euc-jpの両方を想定しています。 ファイルの1行目に下記行が一度だけ出てきます。 // タイトル、倍率(mag)。(この係数を使ってCの数値から割る、正の整数。unsigned int) ::fprintf(fp, "%s %d\x0a", "TITLE_NAME", 2000); 具体的には ttps://ideone.com/hi8bYd の64行目に上記が入ります。 Aのセクション集計値は個数が0のときがある。その時はテキスト行だけで終わり。 0 0 1 Jul〜 TEXT TEXT TEXT TEXT Bのテキスト行は日本語(2byte)が来ることがある。 >つづく
53 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:54:03.20 ID:p2p9fdhp.net] QQ行の説明 QQ subname -1 0 0 1 -21000000 600000 2 →この行が無いファイルもある。 →7,8カラムは1行目の倍率数字で割る(数値行と同じ計算) →3〜6カラムは -1, 0, 1, のいずれか。この4つの組み合わせであとで計算に使うことがある。 1 0 0 1 →TYPE_A 0 1 -1 0 →TYPE_B -1 0 0 -1 →TYPE_C 0 -1 1 0 →TYPE_D -1 0 0 1 →TYPE_E 0 -1 -1 0 →TYPE_F 1 0 0 -1 →TYPE_G 0 1 1 0 →TYPE_H →9カラム目は正の整数。(unsigned int) →下記6つのバリエーションがあります。 QQ subname QQ subname c QQ subname -1 0 0 1 -21000000 600000 QQ subname -1 0 0 1 -21000000 600000 2 QQ subname c -1 0 0 1 -21000000 600000 QQ subname c -1 0 0 1 -21000000 600000 2 ※cはcという文字列固定 ※1つのファイルに存在するのはいずれか1つのフォーマット そして少し複雑なのが、上記QQ行は先頭のQQがなくなってx, y行に存在することがあります。 1つのファイル内でQQ行とx, yの後ろにくるパターンの両方は存在せず、片方が出てきたらもう片方は出てきません。 x, yと同じ行にくる場合のフォーマットもQQ行の規則と同じです。 x 1 234 subname -1 0 0 1 -21000000 600000 2 y 2 234 subname -1 0 0 1 -21000000 600000 2 >つづく
54 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:58:25.78 ID:p2p9fdhp.net] 最後にRR行があります。 これもQQ同様x, yの次の行にあったりなかったりします。 QQとRRが一緒に出てくることは無いと思います。 フォーマットは「RR 正の整数」でQQのようにx,yの後ろに来ることはありません。 x 1 2 RR 3 11 11 11 11 11 11 11 11 ↓QQ、RRが一緒に出てくることは無い。 x 1 2 QQ subname c -1 0 0 1 -21000000 600000 RR 3 ↓これも無い x 1 2 RR 3 >つづく
55 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 01:02:10.59 ID:p2p9fdhp.net] 参考として、ファイルを読み込んだら下記のt_all_dbのような構造体にすべて保管しようと考えています。 型や名前は最適なものに変更されて問題ありませんし、他に最適な 格納方法があればそれでも問題ありません。 typedef struct __tag_rr_db { unsigned int rr_num; } t_rr_db; typedef struct __tag_qq_db { char qq_name; //subname bool is_c; //cがあるかないか QQ_TYPE qq_type; float numbers; // 2つの数字のリスト(vector?) unsigned int count; //最後尾の数字 } t_qq_db; typedef struct __tag_elem_db { ELEM_TYPE elem_type; // x or y unsigned int no; // x or yの番号 unsigned int num_line_count; t_qq_db qq_db; t_rr_db rr_db; numbers; //数値行のリスト(vector?) } t_elem_db; typedef struct __tag_section_db { unsigned char name; unsigned int num_1; unsigned int num_2; unsigned int text_line_count; texts; //テキスト行(vector?) t_elem_db elem_dbs; //elem_dbのリスト } t_section_db; typedef struct __tag_all_db { title_name; mag; section_dbs; //section_dbのリスト } t_all_db;
56 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 01:59:33.70 ID:lbsq5rUe.net] そろそろ「ぼくちんのログ解析ソフトを名無しどもに作らせるスレ」でも立ててそっちでやってくれないか
57 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 02:07:19.29 ID:eimWnm2X.net] いい加減にしろよお前 土方コーダに発注する気分でてめえのクソログの仕様ドヤ顔で書いてんじゃねえよ ありったけスレ私物化して相談しまくったんだからそろそろ自分の手と頭を動かしたらどうだ
58 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 02:58:06.76 ID:F1eG7opL.net] ID:p2p9fdhp さん、別のスレに移動を願います。
59 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 04:38:00.97 ID:deogSIs/.net] ume進行だと思えば悪くない 続けて ていうか徹底的にやれ ていうかディスクキャッシュのサイズと読込サイズの理想的な関係は微妙なもんじゃわ; HDD周りのキャッシュには次の3階層ある (1) 1トラック内のランダムアクセスではHDDだと平均的に1/2回転分の時間待たされるから、 HDD側であらかじめ1トラック分はキャッシュする (2) シークでは今日日のCPUの速度からみて地質年代レヴェルの遅延が生じるから、 OSにとって都合の良いサイズ(ページサイズとか)を単位とする単位でキャッシュされる (3) で、その上に標準入出力のバッファがある(setvbuf()で調整できるのはこれ SSDだと(1)が書き換え回数最適化絡みのキャッシュに置き換わるが、(2)や(3)は同じ 高速化には(3)のバッファリングやアプリ側の処理というものと、(2)と(1)のキャッシングをいかに並行動作させるかがキモすぐる fgets()とfread()の速度差は、単一ファイルをシーケンシャルアクセスするときは言うほど開きはない(上のしくみから導ける 一方、複数ファイルを交互にアクセスしたりHDDのまちまちな場所をランダムアクセスしだすとたちまち顕在化する(これも上のしくみから導ける 単一ファイルの読込であっても、アプリがファイルの一部を読み込んで考え込む、の繰り返しなパターンならば アプリ側のマルチスレッド化が有効な「こともある」 今回は該当しないと思うが、、
60 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 05:01:06.13 ID:EFpmUWpC.net] てな議論はベアメタルでやるならともかく 依存処理系では特定OSの話になるし 抽象化されたハードウエアじゃ特性を仮定すること自体ナンセンス
61 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 06:33:31.92 ID:F1eG7opL.net] >>57 申し訳ありませんが、C++と関係がない話は、他のスレでやってください。よろしくお願いします。 お気を悪くなされませんよう。
62 名前:デフォルトの名無しさん [2018/07/15(日) 11:31:30.36 ID:Y0/Ay92k.net] unsigned int l = -1; cout << l << endl; cout << (signed int)l << endl; ⇒ 4294967295 -1 int m = 4294967295; cout << m << endl; unsigned int n = 4294967295; cout << n << endl; ⇒ -1 4294967295
63 名前:デフォルトの名無しさん [2018/07/15(日) 11:32:24.73 ID:Y0/Ay92k.net] >>60 unsigned int l = -1; int m = 4294967295; がエラーにならないのはなぜでしょうか?
64 名前:デフォルトの名無しさん [2018/07/15(日) 11:45:15.02 ID:Y0/Ay92k.net] codepad.org/4odTQaly ↑は、ロベールの本に載っているコードです。 friend class ValueFactory; //friend Value* ValueFactory::New(int n) const; ↑これを friend class ValueFactory; //friend Value* ValueFactory::New(int n) const; と変更するとなぜコンパイルエラーになってしまうのでしょうか? ロベールの本には、「不完全型」というのを利用する必要があると書いてあります。 friend class ValueFactory; ↑これはなぜ「不完全型」を使わなくてもOKなのでしょうか?
65 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 11:51:25.65 ID:kDEFN2k+.net] 解釈が間違ってる ValueFactoryの実体を作って返すためにはすでに定義が分かってないといけない(完全型でないといけない 対してfriend宣言は名前だけ分かってればいい(定義がまだ無い(=不完全型)でいい というだけの話
66 名前:はちみつ餃子 mailto:sage [2018/07/15(日) 11:59:00.99 ID:HERu1+Fl.net] >>61 暗黙のキャストのせい。 整数リテラルに型を表す接尾辞がつかない場合は原則として int として解釈されるけど、 int の範囲より大きい場合はそれを表せる最低限の整数型として解釈されるんだったはず。 整数型の初期化 (代入) の右辺に現れた値が左辺の型で表せるときはそのままの値であることが保証されるが、 そうでないときは一定の規則に従って縮小される。 縮小の仕方は、 左辺が unsigned のときは、左辺の型が表せる最大値に 1 足した数で右辺の modulo を取った値が左辺に入る。 左辺が signed のときは未定義。 なので、 (int が 32 ビットの大きさをもつとき) unsigned int l = -1; が 4294967295 になるのは規格通りだが、 int m = 4294967295; が -1 になるのは保証されない。 規格を確認せずに記憶で書いてるので、 もし間違ってたら誰か指摘よろー。
67 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 12:01:48.69 ID:WB6myqsz.net] c++で文字列のバイナリ読み書きで質問があります vector<string> moji = {"aaaaaa", "bbbbbb", "ccccccccc"}; ofstream ofs2("mojibin.bin", std::ios_base::out | std::ios_base::binary); for (int i = 0; i <= 2; i++) { ofs2.write(moji[i].c_str(), strlen(moji[i].c_str())); } 書き込みは、エラー無くできるのですが ifstream ifs2("mojibin.bin", std::ios_base::out | std::ios_base::binary); for (int i = 0; i <= 2; i++) { ifs2.read((char*)&moji[i], strlen(moji[i].c_str())); cout << "(" << i << ")" << moji[i] << " "; } 読み込みは、読み込んで表示も出ますが 何かエラーが出ます どうしてでしょうか
68 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 12:06:41.50 ID:lbsq5rUe.net] 書き込んだものに区切り入れてないけどそれでいいの?
69 名前:デフォルトの名無しさん [2018/07/15(日) 12:11:00.69 ID:Y0/Ay92k.net] >>63 ありがとうございます。 ソースコード全体をコンパイラがみれば定義も分かるのに、なぜコンパイルエラーにするのでしょうか? >>64 ありがとうございました。
70 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 12:12:20.49 ID:Y0/Ay92k.net] >>63 例えば、 Python では、相互に参照していてもOKです。
71 名前:デフォルトの名無しさん [2018/07/15(日) 12:15:07.36 ID:Y0/Ay92k.net] コンパイラーについての知識がないと理解しにくい部分でしょうか?
72 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 12:15:22.56 ID:WB6myqsz.net] >>66 なにか、ヌル文字を読み込もうとしてるエラーのようで なるほど、区切り文字というのを入れて getlineとかを使用して読み込んでいくべきなのかな・・・・
73 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 12:50:13.08 ID:WB6myqsz.net] とりあえず、区切り入れてgetlineで一行ずつ読み込めました vector<string> moji = {"aaaaaa", "bbbbbb", "ccccccccc"}; ofstream ofs2("mojibin.bin", std::ios_base::out | std::ios_base::binary); for (int i = 0; i <= 2; i++) { moji[i] += "\n"; ofs2.write(moji[i].c_str(), strlen(moji[i].c_str())); } ifstream ifs2("mojibin.bin", std::ios_base::out | std::ios_base::binary); string temp; int i = 0; while (getline(ifs2, temp, '\n')) { cout << "(" << i << ")" << temp << " "; i++; } これでまたvector<string>に入れたらいいか c++はHSPとかと違って難しいですね
74 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:00:44.43 ID:oGr67yTf.net] >>70 &moji[i]はstringインスタンスの格納先アドレスであって、中に格納されている文字列データの先頭ではないよ。 無理やりやるなら ifs2.read(const_cast<char*>(&moji[i].data()), moji[i].length()); とかすれば動くと思うけど >>71 文字列以外も書き込みだしたら\nと競合するけどいいの? getline使うならbinaryモードは使うべきでないと思うし、そもそも文字列しか書き込まないならbinayモードにする必要ある?
75 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:02:49.96 ID:oGr67yTf.net] あとエラー出力は正確に書いてくれないと、コード全部読まないといけないからしんどいです…
76 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:18:02.66 ID:lbsq5rUe.net] >>67 C++はそういうコンパイルの仕方しないから cppごとにオブジェクトファイル(クラスのインスタンスとしてのオブジェクトとかとは別の意味)というのを作ってから オブジェクトファイル同士のリンクという作業をして目的の実行バイナリを作る オブジェクトファイルは自分自身で完結してないといけないので、 「ValueFactoryとかいうクラスのポインタ」「ValueFactoryとかいうクラスがfriendだという情報」は持つことが出来るけど (別のファイルがValueFactoryの実体を持ってると期待して) ValueFactoryの実体作れとか実体使ってなんかやれ(そういう実行コードを保持しろ)と言われたら困ってしまうってこと
77 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:19:42.19 ID:WB6myqsz.net] >>72 数字の配列はバイナリでエラー無いので やはり、文字列はテキストに出力したほうがいいんかな >>73 今度からはそうします すみませんでした
78 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:42:15.67 ID:oGr67yTf.net] もちろんバイナリ形式でもいいのだけど、その場合は文字列を固定長にするとか、tlv形式で作ってみては? https://en.m.wikipedia.org/wiki/Type-length-value
79 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 14:56:48.40 ID:p2p9fdhp.net] 大規模ファイルの読み込みについて相談しているものです。 以下調査結果です。 ファイルは上記で13GBのファイル生成したものを使用 https://ideone.com/hi8bYd @下記コードの結果 https://ideone.com/e9iA5m 512,15 →15秒 1024,7 →7秒 2048,5 →5秒 4096,3 →3秒 8192,2 →2秒 >つづく
80 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 14:58:34.48 ID:p2p9fdhp.net] A作成した下記コードでテスト。 →約2秒 https://ideone.com/1YhaLR (整理できておらず、かなりぐちゃぐちゃなコードですが。。) 内容:freadのみ B上記Aで、「#define READ_MODE 1」で実行 →約25秒 内容:改行単位にするため、前スレ962の下記Cを対応したつもりのもの A. 1行全体が連続してバッファに存在しなくてもいい作りにする B. リングバッファ C. fseekでファイルポインタを戻してから読み込む D. あまりをmemcpyでバッファの先頭にコピーしてから読み込む E. ほか C上記Aで、「#define READ_MODE 2」で実行 →約60秒 内容:上記B+解析 Dfgetsのみ →約15秒 if((fp=fopen(file_path, "r"))==NULL)
81 名前:{ printf("ファイルを開けません。%s",file_path); return 0; } char tdata[10000]; char* data = tdata; while( fgets(data,10000,fp) != NULL ){ data; } 上記Aが約2秒なのにBの改行単位のケアで25秒に増加しているので、 まずここの作りがおかしいんだろうなとは思いますが、 何がおかしいのかが、まだわかっていません。 [] [ここ壊れてます]
82 名前:デフォルトの名無しさん [2018/07/15(日) 16:27:56.77 ID:Y0/Ay92k.net] >>74 ありがとうございました。
83 名前:デフォルトの名無しさん [2018/07/15(日) 17:27:08.76 ID:1ys/w/8R.net] fseekをつかうのなんか絶対ダメだ fseekされることで標準関数がFILEポインタでもってるバッファも めんどいことになってるのが容易に想像がつく そしてさらにlseekもシステムコールも呼ばれる 標準関数の実装のされかたにもよるが 大きな性能劣化は避けられない Dの方法でひたすら シ リ ア ル に読まないと遅くなるのは当然 そんな標準関数でやってるようなことを、 こっち側でやるならそもそも標準関数使う意味がない 普通にopen、readでこっちが渡したメモリにそのまま読みこむほうがいい まずFILEポインタ使ってfreadしか使わないなら、はっきりいってfread使うメリットは まったくない 関係ないようで関係ある話だが キャッシュがきいてない状態ではposix_fadviceを呼んでおくと シ リ ア ル に大きなファイルを読み込むときには、計算機の状態によっては 劇的に改善することがある
84 名前:デフォルトの名無しさん [2018/07/15(日) 17:36:56.10 ID:1ys/w/8R.net] ちなみにファイルはUNIXでは ブロックデバイスだからな そのブロックデバイスをセクタ単位で 効率的に読み込むためにはどうすればいいか あとはもう分かるな このスレにいるサル並の知能しかないようなヤツラ以外なら わかるハズだからな
85 名前:デフォルトの名無しさん [2018/07/15(日) 18:02:19.58 ID:1ys/w/8R.net] まずストレージというハードウェアが OSでどうやって抽象化されてるか わかってないからな こんな頭悪いヤツラが抽象化とかなんとかいってるワケ きっとな前スレのソースの注釈で書いたwindowsで、キャッシュなしでReadFile呼ぶ時は セクタの倍数単位でないと使えないという意味も分かってない ともかくこのスレに居ついてるヤツラは頭悪い 基本的なことが分かってないからな まずなバカはこのスレで相談することが バカな行為であることに気付かないといけない バカななに聞いてもムダ 的外れなコタエしか返ってこない
86 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:16:38.79 ID:F1eG7opL.net] >>80 > FILEポインタ使ってfreadしか使わないなら、はっきりいってfread使うメリットはまったくない メリットはあるでしょ。システムコールのreadやReadFile()と違い、 FILE*を使ったfread()はアラインメントを無視した小さいバッファサイズで読み込んでも全体としての速度低下が起きにくい恩恵がある。
87 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 19:07:48.62 ID:lbsq5rUe.net] 13Gログ解析野郎と半角野郎が毎度毎度必ずコンビで出てくるのは何なんだろうなー おっかしいなー 「ぼくちんのログ解析ソフトをぼくちんが考えた最強の名無しが作るスレ」でやってどうぞ
88 名前:デフォルトの名無しさん [2018/07/15(日) 20:22:05.00 ID:1ys/w/8R.net] 低学歴で知能低いのが答えられる質問の範囲なんかたかがしれてる 知恵遅れでも回答できる質問に限定される こういうヤツラはYahoo知恵遅れがお似合い もうね2ちゃんねるのクオリティーも著しく低下したもんだわ 著しくレベルの低い質問なら回答できるワケだからな 情報として保存される価値すらない ゴミ質問とゴミ回答
89 名前:デフォルトの名無しさん [2018/07/15(日) 20:27:33.82 ID:1ys/w/8R.net] 昔ならググレカスでおわるような質問を どやがおで低学歴知恵遅れが回答するスレがココだからな 低学歴知恵遅れが活躍できる場所はココしかない オレのナワバリを荒らすなと低学歴知恵遅れが 主張
90 名前:している [] [ここ壊れてます]
91 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 20:39:19.46 ID:oGr67yTf.net] あぼーん設定推奨 [ヲ-゚]
92 名前:デフォルトの名無しさん [2018/07/15(日) 22:46:04.59 ID:GtfCPRC1.net] POSIXの制限に起因するパフォーマンス低下を回避するためのドライバをさっき見たばかりだな。 ハイパフォーマンスの世界にはそういうのもあるんだな。
93 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 23:08:51.14 ID:ugn7dRUi.net] >>85 解析のコード書けたの? お前が全部作ってアップすればそれで終わる
94 名前:デフォルトの名無しさん [2018/07/16(月) 01:21:00.28 ID:6luw5g3K.net] とりあえずファイルすべての字句解析と 最低限のデータ取得できるとこまではできた ※ あとはデータを格納するだけ テストデータのジェネレータを修正した https://ideone.com/NWdMmL で、とりあえず作ってみた解析のコードが↓コレ https://ideone.com/E6QH2r プリプロセッサにDEBUG_WRITEの定義を追加してやれば データ取得できてることがダンプして確認できる ※ ダンプする場合は、ファイルにリダイレクトするにしても ※ 物凄い時間かかるし、物凄いディスク容量をとるから小さいテストデータでやるほうが ※ とりあえず無難 ものすごい単純なコードプロトタイプになってるから バカでもチョンでも簡単に整理や作りかえができるようにはなってる ※ 処理内容はコードみたまんまのハズだ ※ 同じような処理がひたすら書かれてる ※ QQがなくなればめっちゃコード減るハズ ※ コードのほとんどはQQのムダ処理
95 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 01:37:37.27 ID:RYaEyvne.net] うわっ 汚いコード
96 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 10:44:37.38 ID:526Z5Rhh.net] 15GBのテキスト解析8.6秒のマシンで >>90 の時間を計ったら54秒でした。 ファイルアクセスの時間は除いた純粋な解析処理です。 これがプロとアマチュアの差ですか。 まあ54秒でも使えるレベルではあると思うんで これで良いんじゃないですかね?
97 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 11:29:13.12 ID:80hpbb9v.net] OS のAPI を、直接呼んではいけない。 例えば、1バイト読み込みを千回やれば、千回API が呼ばれる。 ユーザーモードからカーネルモードへの、コンテキストスイッチが千回 一方、バッファリングしている、C のライブラリを使えば、 千バイト1回の読み込みで済む ライブラリが抽象化している。 buffering stream ユーザー → (ライブラリ) → API
98 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 11:39:40.02 ID:774eW9FT.net] >>90 今回相談しているものです。 ありがとうございます。 まず >>78 でAが2秒、Bが25秒の違いを調べました。 >>78 のBで実行するため昨日アップした https://ideone.com/1YhaLR に 「#define READ_MODE 1」を設定し25秒かかることを確認。 ここから後ろの処理からコメントアウトしていくと、下記行の前後で 25秒から2秒に変わりました。 88行目: data = real_data; real_data(char型)のポインタをdata(char型のポインタ)に代入したつもりだったのですが、 もしかして実体がコピーされているのでしょうか? >つづく
99 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 11:41:24.00 ID:774eW9FT.net] 続けて >>90 のコードを実行してみました。 データ生成の方は、>>51 の最後に説明している、 「1つのファイル内でQQ行とx, yの後ろにくるパターンの両方は存在せず、片方が出てきたらもう片方は出てきません。」 というところで、1つのファイルに両方のフォーマットが生成されていましたが、 両方が読めれていれば特に問題はないと思います。 読み込み用のコードは自分の環境では %"PRIu64" → %" PRIu64 " とスペースを開けないとなぜかエラーになりました。 あとargv[2]がよくわかりませんでしたが実行できたのでとりあえずそのままにしています。 以下結果 ## 1GB time ./a.out aaa_1gb strat... ./a.out aaa_1gb (null) done... ./a.out aaa_1gb (null) 4./a.out aaa_1gb 3.69s user 0.14s system 99% cpu 3.839 total ## 5GB time ./a.out aaa_5gb strat... ./a.out aaa_5gb (null) done... ./a.out aaa_5gb (null) 18./a.out aaa_5gb 17.40s user 0.78s system 99% cpu 18.216 total ## 13GB time ./a.out aaa_13gb strat... ./a.out aaa_13gb (null) done... ./a.out aaa_13gb (null) 47./a.out aaa_13gb 44.99s user 1.73s system 99% cpu 46.781 total みなさんキャッシュの話をされていて、その辺がまだあまり理解できていないのですが、 文字列解析時にはキャッシュから取り出して参照するため時間は増えるということですかね。
100 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 11:50:33.56 ID:774eW9FT.net] あと、freadだけで2秒のものに、freadの後にからなず fseek(fp, -10000, SEEK_CUR) を実行してみましたが、 処理時間は2秒で変わりはありませんでした。 これらのことから >>94 で書いている 88行目: data = real_data; のせいで2秒から25秒に増加しているようです。
101 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:13:00.28 ID:774eW9FT.net] 今 >>90 のコードを >>95 と同じ環境で、readをfreadに変えて実行してみたところ下記になりました。 readとfreadで速度に変わりはなさそうです。 ## 1GB(fread版) ./a.out aaa_1gb strat... ./a.out aaa_1gb (null) done... ./a.out aaa_1gb (null) 4 ## 5GB(fread版) ./a.out aaa_5gb strat... ./a.out aaa_5gb (null) done... ./a.out aaa_5gb (null) 18 ## 13GB(fread版) ./a.out aaa_13gb strat... ./a.out aaa_13gb (null) done... ./a.out aaa_13gb (null) 48
102 名前:デフォルトの名無しさん [2018/07/16(月) 15:37:46.05 ID:6luw5g3K.net] かわりがないとか んなわけがないからな 先にいっておくが ちなみにオレのコードより おなじところまで解析できる処理を 速い速度で作れるヤツはまずいないからな 作れるもんなら作ってみればいいわ
103 名前:デフォルトの名無しさん [2018/07/16(月) 15:40:29.53 ID:6luw5g3K.net] ちなみにDEBUG_WRITEを定義に追加したら死ぬほど遅いからな ちゃんとDEBUG_WRITEをとって計測してるのかすら怪しい バカが書いたコードより間違いないなく速いハズだからな
104 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:48:01.58 ID:80hpbb9v.net] 同じデータで、2回テストしても、 1回目は、HDD からメモリへ読み込むけど、 2回目は、既にメモリ上にデータが存在するから、HDDから読み込まない。 メモリキャッシュから読むから、HDDの読み込み速度とは違う だから、2回目のテストの前に、 メモリキャッシュをすべて破棄しておいてから、テストをしないといけない
105 名前:デフォルトの名無しさん [2018/07/16(月) 15:49:56.51 ID:6luw5g3K.net] コレで他のより遅いというなら オレはもうバカの相談には二度とのらないし コレ以上のコードは書かない ほぼ限界まで速度が出るようにチューニングしてるハズだからな 評価のしかたが分かってない
106 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:51:18.48 ID:fNWu8+xr.net] >>98 >>92
107 名前:デフォルトの名無しさん [2018/07/16(月) 15:51:33.68 ID:6luw5g3K.net] だからコードあげろよ
108 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:52:15.83 ID:fNWu8+xr.net] ザコ
109 名前:デフォルトの名無しさん [2018/07/16(月) 15:52:15.93 ID:6luw5g3K.net] シロウトは口だけだからな クソニートのシロウトが口をはさむ余地なんかない
110 名前:デフォルトの名無しさん [2018/07/16(月) 15:53:09.83 ID:6luw5g3K.net] ザコはオマエだろ クソニートのザコはコードあげずに 何秒とかいってるだけだからな
111 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:55:20.94 ID:fNWu8+xr.net] 数値への変換、何で標準ライブラリ使うのやめたの? 速いんでしょ? www
112 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:55:41.81 ID:fNWu8+xr.net] fgetsも何で使うのやめたの? 速いんでしょ?
113 名前:デフォルトの名無しさん [2018/07/16(月) 15:57:13.10 ID:6luw5g3K.net] 読み込み速度で問題 そしてポインタをひたすらインクリメントだけして ひたすら最小限の参照するだけの処理より速い処理なんか 逆立ちしてもかけるワケがないからな
114 名前:デフォルトの名無しさん [2018/07/16(月) 15:58:16.80 ID:6luw5g3K.net] fgetsはシロウトが使っても概ね良好な結果が約束されてる
115 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:01:19.01 ID:fNWu8+xr.net] >>109 だからお前はザコ
116 名前:デフォルトの名無しさん [2018/07/16(月) 16:03:00.33 ID:6luw5g3K.net] クソニートがいきがってるしな オレが書いたコードを超える速度がでるコードを まずあげてみろよ 話はそこからだからな
117 名前:デフォルトの名無しさん [2018/07/16(月) 16:03:52.50 ID:6luw5g3K.net] クソニートはテキトーなことばっかりいって 口だけだからな
118 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:03:56.64 ID:fNWu8+xr.net] 糞コードがなぜ糞か どこで時間がかかるのか それくらい自分で調べよう
119 名前:デフォルトの名無しさん [2018/07/16(月) 16:04:43.29 ID:6luw5g3K.net] だからクソニートはコードあげろよ オレのコードにムダは一切ない
120 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:05:18.19 ID:fNWu8+xr.net] 8.6秒のコードも まだまだ改善の余地があるから
121 名前:デフォルトの名無しさん [2018/07/16(月) 16:05:51.54 ID:6luw5g3K.net] だからクソニートは口だけ8.6秒のコードをあげろよ
122 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:06:30.96 ID:fNWu8+xr.net] まあせい
123 名前:コい頑張ってね ザコ [] [ここ壊れてます]
124 名前:デフォルトの名無しさん [2018/07/16(月) 16:07:20.43 ID:6luw5g3K.net] オマエはクソニートだからな クソニートはコードの速度の心配をするまえに 自分の心配をしたほうがいい
125 名前:デフォルトの名無しさん [2018/07/16(月) 16:22:48.03 ID:6luw5g3K.net] https://ideone.com/e9iA5m g++ -o baka_test $file_name echo 512,`./baka_test $input 512` > baka_result.txt echo 1024,`./baka_test $input 1024` >> baka_result.txt 〜 上記を13GBのファイルで試したら下記結果が出ました。 512,13 1024,7 2048,5 4096,3 8192,2 16384,2 32768,2 65536,2 131072,1 262144,3 524288,2 1048576,2 2097152,2 4194304,2 8388608,2 16777216,3 33554432,2 67108864,3 134217728,3 268435456,3 536870912,3 1073741824,3 バカが試験してシステムコール呼びだしのオーバヘッドの評価なんかすでに評価済 (システムコール呼びだしのオーバヘッドの評価なんか、バッファサイズを変更による推移をみれば簡単に評価できる)
126 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:28:07.89 ID:fNWu8+xr.net] まだキャッシュに入ってる前提でテストしてるの? アホなの?
127 名前:デフォルトの名無しさん [2018/07/16(月) 16:30:26.25 ID:6luw5g3K.net] また低学歴知恵遅れのクソニートがテキトーなこといってるからな キャッシュにのってるなら オレのエレガントなコードを除いたすべてのクソコードも同じキャッシュがのった条件で 試験されてるわ
128 名前:デフォルトの名無しさん [2018/07/16(月) 16:31:48.69 ID:6luw5g3K.net] 低学歴知恵遅れのクソニートってテキトーなこといって なんかいった気になる 社会参加しないクソニートが2ちゃんねるで政治の話をするのと似てる
129 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:31:59.31 ID:fNWu8+xr.net] まず54秒をどうにかしろよ
130 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:33:40.35 ID:fNWu8+xr.net] 1秒〜2秒なんてどうでもいい キャッシュに無い時の読み込み時間 解析時間 これをどうにかしろよ 意味の無い所に時間をかける典型的なアホ
131 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:34:35.04 ID:fNWu8+xr.net] 木を見て森を見ず
132 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:44:07.58 ID:774eW9FT.net] 今 >>90 の解析コード見てますがseekを使わずreadで連続して読み込むところがとても参考になります。 こうやって読み込むんですね。
133 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:54:07.55 ID:fNWu8+xr.net] いろいろとパクってるね
134 名前:デフォルトの名無しさん [2018/07/16(月) 18:00:25.42 ID:6luw5g3K.net] オマエはまずオレのエレガントなコードを参考するまえにな この愚かなコードをどうにかしたほうがいい unsigned char real_data[BUF_SIZE+1]; size = fread( &real_data, sizeof(real_data[0]), BUF_SIZE, fp); data = real_data; 遅いどころかそもそもちゃんと動作すらするワケがない マジでな、オマエは今までなにをやってたわけ? 小一時間問い詰めたいわ はっきりいうわ オマエ、才能ない
135 名前:デフォルトの名無しさん [2018/07/16(月) 18:05:36.68 ID:6luw5g3K.net] オレが引用したオマエのコードが なんでお話にならないくらいダメなのか 理由が分からないならオマエはCをさわらないほうがいい コレはいいきれる 速く動作させたいとか以前の問題だからな
136 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:29:34.88 ID:fNWu8+xr.net] エレガントなコードwww 糞汚くて激遅なコード お前は偉そうに語れるレベルじゃない
137 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:30:40.10 ID:fNWu8+xr.net] ザコはザコらしくしてろ
138 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:34:38.20 ID:fNWu8+xr.net] テキトーに作った1作目 前スレの>>851 の24.3秒 の倍以上の時間で もうネタ切れのザコ
139 名前:デフォルトの名無しさん [2018/07/16(月) 18:58:39.51 ID:6luw5g3K.net] ごちゃごちゃいってないでな クソニートはオレより速くできるコードをあげたらどうだ クソニートが邪魔でしょうがない
140 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:00:10.74 ID:r07bWXyg.net] 何の邪魔? 5chで名を上げようとでも思ってるの?w
141 名前:デフォルトの名無しさん [2018/07/16(月) 19:02:42.71 ID:6luw5g3K.net] どうでもいいが クソニートは邪魔しかしないからな オレのエレガントなコードに嫉妬してるワケ まちがいなくオレのコードより速いコードなんかかけるワケがないからな
142 名前:デフォルトの名無しさん [2018/07/16(月) 19:04:00.40 ID:6luw5g3K.net] クソニートはこうやって社会と接点ももったつもりになってるワケ 分かりやすい ニューススレなんかに湧いてくる社会参加してないクソニートとそっくりといっていい
143 名前:デフォルトの名無しさん [2018/07/16(月) 19:05:41.08 ID:6luw5g3K.net] ココは相談スレだからな まちがいなく
144 名前:クソニートは相談スレの邪魔をしてる [] [ここ壊れてます]
145 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:12:14.13 ID:r07bWXyg.net] 自己紹介乙
146 名前:デフォルトの名無しさん [2018/07/16(月) 19:13:02.52 ID:6luw5g3K.net] もうね図星つかれて 顔真っ赤だからな ホントな分かりやすいわ 分かってしまうのが怖いわ
147 名前:デフォルトの名無しさん [2018/07/16(月) 19:15:40.86 ID:6luw5g3K.net] だいたい分かる 登校拒否児のまま高齢ニートになったようなのが このスレにはウジャウジャいる 低学歴なまま精神的に大人になってないような知恵遅れの典型的なレスパターンだからな いわゆるヒキコモリというヤツだ
148 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:20:00.33 ID:r07bWXyg.net] ID真っ赤なのは唯一人
149 名前:デフォルトの名無しさん [2018/07/16(月) 19:29:45.75 ID:6luw5g3K.net] クソニートは相談スレに参加できるレベルに達してないからな いままで参加できてると錯覚してたワケ 参加できないからIDが赤くなるまでレスもできない ホンモノのプロフェッショナルなオレがくればこうなる 知恵遅れがオレスゲーできない 唯一の自分が社会と接点をもててると錯覚してる唯一の場所が オレに乗っ取られたワケ くやしいの?
150 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:32:29.15 ID:r07bWXyg.net] ホンモノのプロフェッショナルなオレ ホンモノのプロフェッショナルなオレ ホンモノのプロフェッショナルなオレ ホンモノのプロフェッショナルなオレ ホンモノのプロフェッショナルなオレ 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
151 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 22:04:34.63 ID:KaFNK61g.net] 最近バーチャルYouTuberは4,000人を越えています。 そこで今どのVtuberが人気なのか調べてみようと思います。 第二回バーチャルYouTuber人気投票ですが、Vtuber界隈の変化が激しい為、投票受付期間中であれば、 一度投票した内容を変更できるようにしました。 今回は一人三票です。今回からモンスト、鈴木ヒナ、ポン子、アイドル部など強力な新人さんも入っておりますので、 投票をよろしくお願いいたします。 現在830票 あなたの好きなVtuberは? https://goo.gl/forms/wHUyA3Phxj6y2nu73 ・2018/6/5時点でチャンネル登録数10,000人以上のVtuberを対象としています。 ・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。 ・一人三票です。 ・このグーグルフォームに投票するにはグーグルアカウントでログインする必要があります。 ・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。 ・今回も1,000人の方が投票するまで継続します。 ・受付期間中は何度でも投票内容を変更できます。 第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート) https://docs.google.com/spreadsheets/d/e/2PACX-1vTpmFxf3MHjezIdvmte2CD6kWk4so-gtI8a9XJVjS_O0aMZhekYnSCj-n4DCLfHGXhke7HZYbJM1TEa/pubhtml?gid=0&single=true
152 名前:デフォルトの名無しさん [2018/07/16(月) 22:56:02.09 ID:6luw5g3K.net] とりあえず、バカでも使えて修正できる パーザーのクラスのサンプルでも気が向いたら作っといてやるわ こんなもんデータを全部格納できるワケがないからな 今の解析コードのサンプルでも位置とサイズの情報はガッチリとってるから いくらでも改良できる オレみたいなプロフェッショナルになると、こんなことハナから予見できてるワケ
153 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:55:04.74 ID:k7Gq2lBS.net] >>94-97 「ぼくちんのログ解析ソフトを半角さんが作ってくれるスレ」を立ててそっちでやってくれないか
154 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 04:14:16.72 ID:eLk9EV06.net] パーザーw
155 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火)
] [ここ壊れてます]
156 名前:12:14:32.32 ID:laha5pLP.net mailto: 頭がパーザー [] [ここ壊れてます]
157 名前:デフォルトの名無しさん [2018/07/17(火) 14:06:01.71 ID:I4a/6mEU.net] >>146 今のサーバはメモリに多少余裕があるから全部メモリに格納しようと 思ってましたが、よく考えると数人同時に使ったり他の低スペックサーバを 使うことを想定すると確かに名称、テキスト、数値の番号と位置など 最低限の情報だけ拾ってその都度ファイルにアクセスした方が 他の人に迷惑がかからず良さそうです。 気が向いたらよろしくお願いします。 自分でも検討してみます。 >>147 相談しっぱなしは悪いと思い、色々調べた結果を出してしまいました、すみません。
158 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 17:51:00.62 ID:rBemJlfB.net] 悪いと思って無いだろ
159 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 18:31:14.54 ID:0lwIt+yt.net] 消えろ
160 名前:デフォルトの名無しさん [2018/07/18(水) 18:38:21.90 ID:zAL/THKp.net] ハイ、謝罪と賠償の要求いただきました! みんなー、謝罪と賠償の要求出たぞー!
161 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 19:24:54.30 ID:xHEVxC3Y.net] ごめんなさい 100円
162 名前:さまよえる蟻人間 mailto:sage [2018/07/18(水) 19:48:18.30 ID:IL3iPWys.net] パーサーもパーザーも間違いではない。
163 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 19:51:38.49 ID:xHEVxC3Y.net] はいはいwww
164 名前:デフォルトの名無しさん [2018/07/18(水) 22:02:52.32 ID:L914sbje.net] int a; if( hoge ){ const a = 1; } else{ const a = 2; } とすると不安定な動きをするのですが、 このコードは許されないのでしょうか。
165 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 22:17:00.15 ID:WhjAyW4L.net] 許される
166 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 22:28:45.28 ID:4KYHyXSz.net] const a = 1; ってなんぞ??と一瞬思ったがintが省略されてるのか それブロック内ローカル変数だから、外のint a;には関係しないよ >157に書かれてるところは許されるけど、 書かれてないところでint a;を使ってたらそりゃ不安定だろうね
167 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 17:29:54.53 ID:j7YVAWUD.net] 不安定な動きはしないと思うが ルールがわかってないだけで
168 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 18:06:32.94 ID:TP/FZeZJ.net] 外側のaを初期化してないから不安定になる可能性はある。
169 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 18:38:08.70 ID:obfOsgMS.net] aを不定なまま使えば不安定になるかも知れないが >>157 のコードだけならなにも問題ない >>157 の回答としては 「許される」が正解
170 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 21:07:42.21 ID:0P/bZCls.net] 許すのは誰なのかというところから(ry
171 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 21:08:02.97 ID:j7YVAWUD.net] コンパイラ様
172 名前:デフォルトの名無しさん mailto:sage [2018/07/20(金) 21:15:25.57 ID:MVqkCRqy.net] int a; // 未初期化 if (hoge) { const a = 1; // if の中だけで使える変数aを新たに宣言 const int b = 1; // こう書いてbを使うのと同じ } else { const a = 1; // else の中だけで使える変数aを新たに宣言 const int c = 1; // こう書いてcを使うのと同じ } int i = a; // 未初期化のままaを使おうとして「不安定な動きをする」
173 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 03:52:30.13 ID:ZZ4YytrN.net] コンパイラ様は、代金を支払うお客様より偉いのか。
174 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 07:09:59.33 ID:CT2MO4Nk.net] 機械は偉さで動いてはいない
175 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 07:12:46.06 ID:d0oYLoM2.net] そのうち褒める褒めないで動作が変わるようなAIコンパイラが出てくる
176 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 07:16:56.35 ID:ZZ4YytrN.net] もうしわけない。金毘羅様に言及すべきだったのにそうしなかったのが情けない。
177 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 11:56:28.78 ID:KXd0ss1Q.net] 警告オプション有効にして助言をもらおう > warning: variable 'a' is uninitialized when used here [-Wuninitialized]
178 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 12:20:29.40 ID:RLP8Sp1U.net] C++勉強するたびに嫌いになってきて草
179 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 12:23:02.98 ID:L4ZstKjT.net] そんなのは道楽でC++やってるあまちゃんのたわごとだ 俺なんかは最初からC++以外に用意されてなかった
180 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 12:34:14.56 ID:Zy/M/93a.net] c++はできるだけの範囲で出来るだけのことをやればいい 意欲があればさらに進めばいい むりして難しいことをやらなくてもいい c関数での文字列の処理が嫌ならstring使えばいい 楽なところは楽でいい
181 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 13:42:42.85 ID:V/L9XjgX.net] template <typename TypeA, typename TypeB> void TempSet(TypeA* Obj, void (TypeB::*Method)()) { *Obj->*Method; } これがエラーでコンパイルできないんですが、 TypeBのメンバ関数呼び出すのはどうやればいいんでしょうか? TypeAはインスタンスのオブジェクトポインタです
182 名前:デフォルトの名無しさん [2018/07/21(土) 13:44:42.66 ID:gIfo2zic.net] でも++が一番ストレスなく組めると思う。
183 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 13:53:05.91 ID:0t9tN8g5.net] >>174 TypeA はTypeBの間違いで、 Obj->Method(); でないの?
184 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 14:00:56.99 ID:0t9tN8g5.net] おっとこうか (Obj->*Method)();
185 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 16:20:10.80 ID:FasZjosd.net] >>177 なるほどそれですね、ありがとうございます。
186 名前:デフォルトの名無しさん [2018/07/21(土) 18:50:32.76 ID:yF+tsqCG.net] VMWare使ってLinux入れてみた 貧弱なPCでめちゃくちゃ重すぎるがコレで普通にコンパイルはできる いままで黙ってたがMSのコンパイラでコンパイルしてたからな やっとオレの芸術的なパーザをコピペで作る準備が整った
187 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 19:53:50.78 ID:IjOYQkhe.net] やっぱワッチョイ必要だな これ
188 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 19:54:08.06 ID:4OwLAQG2.net] コンパイルするためだけにVMWarewwwwwwwwwwwwwwwww
189 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 20:17:49.81 ID:Y8T9UzT7.net] >>179 DELLのPC安いから買うといいよ
190 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 20:18:57.06 ID:ZZ4YytrN.net] ubuntu on windows は、ウィルス対策ソフトのウィルス・バスターがubuntu上のプロセスを監視対象として認識しないらしく、きびきびと起動・実行できる。 それがいいことか悪いことかは、さておき。
191 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 21:04:13.24 ID:CT2MO4Nk.net] >>181 何かおかしいか?
192 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 21:05:35.42 ID:o4R9sYuw.net] botに反応するなよ
193 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 21:08:08.82 ID:CT2MO4Nk.net] botがそんな反応するか そういうことにしたいのなら 見逃してやるが
194 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 21:18:01.24 ID:gFGCO6jl.net] 見逃してもらえないとどうなっちゃうの?
195 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 21:23:00.95 ID:CT2MO4Nk.net] 何がおかしいのか聞こうか
196 名前:デフォルトの名無しさん [2018/07/21(土) 22:50:00.50 ID:yF+tsqCG.net] 32bitのlinuxしか入らんから それでもいちいちめんどくさいことは分かった
197 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 23:13:14.47 ID:NpMyvs3y.net] macならdockerでlinux環境作るのもありかなと思ったが、 winだとまだdockerインストールめんどくさげだね。
198 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 12:08:37.73 ID:LuRYHz2h.net] >>179 自分もvmwareでlinux入れてましたが、メモリ4GB(有効なのは約3GB)の初代i3ノートPCで、vmware割当メモリ700MBくらいで使ってましたが かなり重かったけど立ち上がったらそこそこスムーズに使えてました。 メモリ8GBくらいあればvmwareに1GB〜2GBくらい割り当てれば、そこそこストレスなく使えそうな気がします。 ちなみにすでに知ってるかもしれませんが、win10だとubuntu?っぽいのを直接インストールできます。 windows内にゴミがたくさんできそうだから個人的には躊躇しますが。 ttp://www.atmarkit.co.jp/ait/articles/1608/08/news039.html
199 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:07:01.86 ID:ST9MozRw.net] それは入れないほうがいいよ 互換性問題があるしかなり機能を絞られてる 使ってみてわかる誰得機能 容量も十数G必要 VirtualBoxを普通にいれたほうが使い勝手がいい
200 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:18:52.55 ID:mbi94QjP.net] > 容量も十数G必要 いや1GBも要らんよ、どこ確認したんだw WSL丸ごと%LocalAppData%\Packages\CanonicalGroupLimited.*.ならんちゃらに突っ込まれる形式だから ホストOSにゴミが残るってのも杞憂 最近はDocker Engineがそれなりに動く程度には互換性も高まってきてるみたいね エクスプローラのアドレスバーからbashで窓側をカレントディレクトリにして起動できるのが良い
201 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:20:13.96 ID:Nia5Zbws.net] >>192 > 互換性問題があるしかなり機能を絞られてる WSL(Windows Subsystem for Linux)は、C++やLinuxシステムコールを使ったGNUプログラミング環境としては必要十分だと思うけど、具体的にどんな問題あるの?
202 名前:デフォルトの名無しさん [2018/07/22(日) 20:26:16.94 ID:tfHLB3F/.net] >>194 サービス書くときかな。 他はWSLが楽だと思う。
203 名前:デフォルトの名無しさん [2018/07/22(日) 20:28:26.39 ID:tfHLB3F/.net] Linuxを使う意図はサーバーか組み込みなので、WSLで足りない場合もあると思うんだけど、ひな形があれば済む話かもしれんね。
204 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:31:49.81 ID:ST9MozRw.net] サーバ系がサポートされてない 使うならVM使ったほうがいいよ ファイルシステムもwindowsのものの上に作られてるのであれこれ問題が出る >>193 1Gというのが笑えるw コンパイルしないのかw
205 名前:デフォルトの名無しさん [2018/07/22(日) 20:34:24.26 ID:tfHLB3F/.net] >>197 VMは大げさすぎるかな。 使えるときはWSLを積極的に使っていきましょうよ。 とてもいいものですから。
206 名前:デフォルトの名無しさん [2018/07/22(日) 20:41:37.63 ID:tfHLB3F/.net] VMは一つのパソコンで複数のOSを動かすのでOSの数だけメモリーを食うんですよね。 その点、WSLはWindowsがLinuxのようにふるまうだけなのでWindows分のメモリーしか食いません。 そんなわけなので、お財布にやさしいんです。 それでいてサービスの開発以外では全く遜色在りませんし、そもそもサービス開発だって、大詰めを迎えるまではdaemonとして起動することはないでしょう。
207 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:42:00.95 ID:ST9MozRw.net] bash使うだけならわかるけどコンパイルも含めて何か使おうとするなら 既知の問題や互換性に問題もあるものを選ぶのはクレバーだと思わない
208 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:44:34.92 ID:ST9MozRw.net] WSL上のバッドノウハウをひたすら集めたいとか 縛りのある環境のほうが燃えるというなら止めはしない ただわからない人に勧めるものじゃないなって思う 不具合があった場合それがどこ由来なのか特定できない人間には特にすすめちゃダメ
209 名前:デフォルトの名無しさん [2018/07/22(日) 20:45:31.78 ID:tfHLB3F/.net] >>200 ディストリビューターが開発する本物のディストリビューションですからまったく問題ありませんね。 Canonicalが開発した本物のUbuntuがWindowsで動くのです。 もちろんDebianであっても同じことです。
210 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:50:22.91 ID:ST9MozRw.net] >>199 >>202 ディストリビューターが提供しようが WSLはlinuxでもないwindowsでもない不思議な物 両方の制限の積 windows ∩ linuxでありわざわざ苦労することはないよ windows上の疑似linuxであってかなりニッチな物 どこかおかしくても不思議じゃない
211 名前:デフォルトの名無しさん [2018/07/22(日) 20:56:04.07 ID:tfHLB3F/.net] WSL、CMake、VCPKGがお勧めキーワードです。 C++ユーザーにはUbuntuをお勧めします。 gcc-7を導入してC++-17をご利用ください。
212 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:56:30.30 ID:sWlXYLBw.net] どこかおかしくても不思議じゃない(どこがおかしいのかは知らない)
213 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:57:52.61 ID:Nia5Zbws.net] 今のWSLはLinuxのdaemonもサポートしてるから問題ないと思うんだけど、具体的にどんな問題起きたの?
214 名前:デフォルトの名無しさん [2018/07/22(日) 20:58:04.83 ID:tfHLB3F/.net] Visual Studio 2017にはLinux DebugとLinux Releaseというターゲットがあり、標準でLinuxをサポートしていますよ。
215 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:58:48.25 ID:ST9MozRw.net] c++使うような厳格さを求める人間がWSL使ってるとは思わなかった WSLで動いたとして他の環境で動くとは保障されないのに どこがおかしいのか推定もできない仕組みの上で何故ごみを作るんだ
216 名前:デフォルトの名無しさん [2018/07/22(日) 21:01:33.45 ID:tfHLB3F/.net] >>206 init機構がWSL用だから。 それを言い出すと、RedhatとUbuntuだって違うじゃないかということになるけど、Redhatに配備するものはRedhatで開発してたのが今までのスタイルなので、VMのほうが良いという人はその点を指摘してるんじゃないのかな。 それ以外にWSLを使わない理由がないので。
217 名前:デフォルトの名無しさん [2018/07/22(日) 21:04:40.18 ID:tfHLB3F/.net] まあ逆に言うと、WSLで動かないのであれば、Linuxディストリビューション間でも可搬性が無いよね。
218 名前:デフォルトの名無しさん [2018/07/22(日) 21:05:04.20 ID:Nia5Zbws.net] >>208 実機Linuxならどこがおかしいか推定できるという根拠はないでしょ。 むしろ、WSLのような抽象化された環境でさえ動かない稚拙なものを実機に持っていく気なの?と言い返すことさえできるのだけど。
219 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:07:21.30 ID:ST9MozRw.net] 違う違う 普通のlinuxで動くコード書いててもWSL上では動かせない場合があるのが問題だろ
220 名前:デフォルトの名無しさん [2018/07/22(日) 21:09:42.72 ID:tfHLB3F/.net] >>212 そういうものがあるのかどうか知らないけど、あるならなおさらWSLで開発したほうが可搬性を担保できてよいのでは。
221 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:10:55.12 ID:ST9MozRw.net] >>211 根拠とかそんなんじゃない 考慮すべきことが多すぎる 自分のコードがおかしいのか linuxのそもそもの仕組みがおかしいのか MSのWSLがおかしいのか ディストリビューターの提供してるイメージがおかしいのか それぞれが組み合わさっておかしくなってるのか考慮する条件が増えすぎる
222 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:11:03.95 ID:Nia5Zbws.net] >>212 問題なんてほぼないでしょ。 VM上で動いて喜べるレベルならWSLでも同じだから。 あなた、WSLで動作確認したことあるの?もしや憶測で書いてない?
223 名前:デフォルトの名無しさん [2018/07/22(日) 21:11:34.45 ID:tfHLB3F/.net] clはかなり寛容なコンパイラなので、gccでコンパイルできるかチェックしとくとより良いコードが書けますよ。 そんな用途でもWSLは素晴らしいと思います。
224 名前:デフォルトの名無しさん [2018/07/22(日) 21:13:06.02 ID:tfHLB3F/.net] >>214 それたぶん、自分のコードが悪いと思いますよ。 Linuxは十分安定してるので、Linuxの問題を真っ先に疑うのは、自信ありすぎだろって感じます。
225 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:14:34.32 ID:ST9MozRw.net] >>215 最初のころはめちゃくちゃだったのでもう入れてない ハードリンクの仕組みもおかしいし タイムスタンプもおかしいし TCPなど制限も山盛りあった すでにあるコードも何故か動かないことが多かった
226 名前:デフォルトの名無しさん [2018/07/22(日) 21:16:43.51 ID:tfHLB3F/.net] 開発環境はWSLがいいんじゃないですかね。
227 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:19:27.33 ID:Nia5Zbws.net] >>214 抽象化されていると問題特定が容易と考えるのが一般的だと思っていたのだけど、 抽象化された環境は問題特定が難しくなるという考え方は画期的ですね。
228 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 21:21:02.02 ID:ST9MozRw.net] linuxが安定ってジョークか linuxカーネルは常にバグがボコボコ出てるよ
229 名前:デフォルトの名無しさん [2018/07/22(日) 21:22:41.34 ID:tfHLB3F/.net] クロスプラットフォームを標榜するなら、開発環境としてWindowsを選択するとよいです。 Visual StudioはWindowsとMacで使えます。 WSLによってVisual StudioからLinuxバイナリを構築できます。 MSBuildとCMakeは悩みどころですが、MSBuildはサポートが手厚く、CMakeはVisual Studioが無くても構築できます。 そこらへんで選択するとよいのではないでしょうか。
230 名前:デフォルトの名無しさん [2018/07/22(日) 21:28:34.40 ID:tfHLB3F/.net] まあ僕はVisual Studio、WSL、VCPKG、CMakeプロジェクトを使っているので、わかることはお答えしますよ。
231 名前:デフォルトの名無しさん [2018/07/22(日) 21:56:04.01 ID:Nia5Zbws.net] 悪いことは言わないので、LinuxプログラムはWSLで動くことを優先して書くことをお勧めする。 他人のために時間を使いたくないのは誰でも同じ。おのずと楽に評価できる環境に流れるのは止められない。
232 名前:デフォルトの名無しさん [2018/07/22(日) 22:35:05.45 ID:Nia5Zbws.net] イスラームの救貧制度がかえって免罪符の役割を果たしてないか。 イスラームの救貧制度があることで、かえって商業上の強欲が横行していないか。
233 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 22:37:37.06 ID:Nia5Zbws.net] 誤爆したけど、謝罪はしない。 イスラム教は野蛮な宗教である ★4 ttps://lavender.5ch.net/test/read.cgi/whis/1525163440/
234 名前:デフォルトの名無しさん [2018/07/22(日) 23:57:15.36 ID:g7OD+nvH.net] だいたいでけてきたわ コード修正をすることによって効果を簡単に計測できるように修正してる こっちのが結構大変だったわ
235 名前:デフォルトの名無しさん [2018/07/23(月) 01:50:38.00 ID:SStA1pnM.net] というわけでうpした 長い戦いだった fast-uploader.com/file/7087832585811/ baka_source.zip build.shを実行すると、3つの実行モジュールができる 3つとも少し修正した(解析処理はファイルがものすごい増えたから大きく修正したように見えるハズ) ・テストデータジェネレータ(データの出力個数の出方を少し修正した) ・ストレージ能力計測プログラム(I/OのアドバイスをOSに与えるように修正) ・解析処理(1. 解析の処理方法自体は一切かわってないがコードの構成をバカでも分かるように変更 2. I/OのアドバイスをOSに与えるように修正)
236 名前:デフォルトの名無しさん [2018/07/23(月) 01:56:28.48 ID:SStA1pnM.net] で、パーザーは基本に則った作りになってる クラスに分ける意味があるかどうかはおいといて 一般的な再帰下降パーザーになってる BNFを構文解析する要領と同じといっていい バカでもチョンでも分かるハズ baka_parser_all ┣baka_parser_title ┗baka_parser_sections ┣baka_sub_parser_section ┣baka_parser_section_stat ┣baka_parser_text ┗baka_parser_elem ┣baka_sub_parser_xy ┃┗baka_sub_parser_qq_value ┣baka_parser_numbers_x ┃┣baka_sub_parser_qq ┃┃┗baka_sub_parser_qq_value ┃┣baka_sub_parser_rr ┃┗baka_sub_parser_number_x ┗baka_parser_numbers_x ┣baka_sub_parser_qq ┃┗baka_sub_parser_qq_value ┣baka_sub_parser_rr ┗baka_sub_parser_number_y 詳細な解析処理をする前に 簡易な解析処理をしたい場合(ブロックの位置情報やサイズ情報なんかだけを先に取りたい場合)、 そのクラスにそのレベルの処理を突っ込んどけばいい 解析処理の詳細さの粒度はそこでテキトーにきめればいいと思う
237 名前:デフォルトの名無しさん [2018/07/23(月) 02:11:50.60 ID:SStA1pnM.net] 一応、parserとsub_parserの違いだけ捕捉しておく 結論からいえばデータの形式がくさってるからそういうのを入れた parserクラスは最初に一行読んで、必ず次の行頭(LFの次)でポインタが停止するようになってる sub_parserクラスは行は読まずに、与えられたポインタから行の途中でポインタが停止するようになってる ※ 例外はあるがsub_parserクラスは大体 LF の上(行末)で停止する ※ 停止しない例外は、sub_parserクラスが連続してる箇所が間違いなく該当することになる
238 名前:デフォルトの名無しさん [2018/07/23(月) 20:33:09.90 ID:SStA1pnM.net] コードの記述に一箇所誤りがあった 動作に影響は一切ないが記述ルールに問題があるから 修正しといたほうがいい 削除 baka_sub_parser_section.h (L34) ++c_buf_p_; // skip LF 追加 baka_parser_sections.h (L48)++c_buf_p_; // skip LF ひたすら元のコードをコピペして貼り付けてたから 気付かなかったわ このスレで相談してたバカはちゃんと動作確認してんのか
239 名前:デフォルトの名無しさん [2018/07/23(月) 20:39:12.44 ID:SStA1pnM.net] ちなみにオレのpcのosはvistaだからな まずwslなんか動くワケがない あと、オレのpcは32bitの計算機だから 32bitのlinuxしか動かない pcが32bitだからな 512MBのメモリでvmware動かして slackwareのlinuxで動作確認をした ちなみに64bitのwindowsは一切考慮してない 考慮不要だからな 32bitのlinuxと32bitのwindowsで動作確認はできてる つまり64bitのlinuxでは動作確認はしてないが 一応、64bitのlinuxにも対応できてる想定になってる きっと動く ※ baka_common.hぐらいの考慮で十分なハズ
240 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 20:41:46.46 ID:i+VNk600.net] しょぼ
241 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 20:47:36.06 ID:i+VNk600.net] 実行速度は?
242 名前:デフォルトの名無しさん [2018/07/23(月) 20:53:16.24 ID:SStA1pnM.net] ほとんどストレージの読み込み時間 パーズはばっちり これ以上ないデキだ 解析する量を減らせばもっと速くなる 動かせば分かる 印字されるスループットを どうすれば最大化できるか考えるのはこのスレのバカだ 道具はほぼすべて揃ってる
243 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:36:54.74 ID:rtZ7opge.net] >>231 ブーメラン投げてんじゃねえよバカ
244 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:41:33.21 ID:2Wpd7Nw8.net] パーズ
245 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:56:50.52 ID:owbFvtjn.net] >>228 I/Oのアドバイスとか何言ってるのか分からない。日本語でOk
246 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:01:24.41 ID:JOGfItcj.net] >>228 ありがとうございます。 なぜか下記修正をしないとコンパイルエラーで怒られました。 gcc-8.1を使っているけどそのせい? baka_common.h PRIu64を有効にするため27行目に行追加:#include <cinttypes> baka_spec.cpp 107, 111, 125行目を修正:%d → %zd build.sh clock_gettimeを有効にするためコンパイルオプションに-lrtを追加 少しコードを見ましたが、クラスのオブジェクト生成時に&があるのが 何を意味しているのかよくわかってなかったり、classのpublic内に関数名だけでなく 関数の中身も直接そのまま記述できるのを初めて知ったりと 色々新しい所があるのでじっくり見て勉強したいと思います。 つづけて実行結果を書きます。↓
247 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:02:12.57 ID:i+VNk600.net] 他でやれって何度も言われてなかった?
248 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:03:34.73 ID:JOGfItcj.net] 取り急ぎ新しいgenツールで13GBを作り、読み込んでみました。 ※ >>231 の修正ままだしてませんが大丈夫ですかね? ## spec(ハード性能チェック?) LINUX% ../baka_spec ./aaa_13GB Mon Jul 23 18:14:22 2018 : starting... 14107393277 bytes read (read block size = 131072 bytes) ./aaa_13GB 〜 Mon Jul 23 18:14:24 2018 : done... 14107393277 bytes read (read block size = 131072 bytes) ./aaa_13GB read_block_size ::= 131072 bytes, file_size ::= 13453.86 MiB, turnaround_time ::= 2.27 sec, throughput ::= 5920.39 MiB/sec ※複数回
249 名前:実行でだいたい5500〜6000 MiB/sec ## parser LINUX% ../baka_par ./aaa_13GB "./aaa_13GB" : size = 14107393277 bytes Mon Jul 23 18:15:19 2018 : starting... ../baka_par ./aaa_13GB Mon Jul 23 18:15:19 2018 : section_count = 1, offset = 144275554 bytes, size = 144275513 bytes, turnaround_time = 0.21 sec, throughput = 646.15 MiB/sec 〜 Mon Jul 23 18:15:39 2018 : section_count = 79, offset = 14107393277 bytes, size = 176862384 bytes, turnaround_time = 0.25 sec, throughput = 662.80 MiB/sec Mon Jul 23 18:15:39 2018 : done... ../baka_par ./aaa_13GB turnaround time : 20(secs) ついでに前回のコードでも試しました。↓つづく [] [ここ壊れてます]
250 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:04:55.29 ID:JOGfItcj.net] ## ついでに https://ideone.com/E6QH2r で同じファイルを読み込んだ時間 LINUX% time ./a.cpp aaa_13GB strat... ./a.out /mnt/home2/pjupm/dbl/work/kinoshit/rve/cpp/final2/baka_source_kino/temp/aaa_13GB (null) done... ./a.out /mnt/home2/pjupm/dbl/work/kinoshit/rve/cpp/final2/baka_source_kino/temp/aaa_13GB (null) real 0m16.243s user 0m14.024s sys 0m2.199s ↑の実行時間約16秒と >>241 の約20秒の約4秒の差分はざっくり言うと 文字や数値をt_all_db構造体に格納するのに要した時間ということでしょうか?
251 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:09:26.85 ID:i+VNk600.net] 読み込み2秒 全部で16秒 ほとんどが読み込み時間? 嘘つき
252 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:18:11.65 ID:SW13TXDW.net] >>243 これは >>242 のことですか? それぞれは下記のようですが、sys=読み込みのみの時間 となるんですかね。 real プログラムの呼び出しから終了までにかかった実時間(秒) user プログラム自体の処理時間(秒)(ユーザCPU時間) sys プログラムを処理するために、OSが処理をした時間(秒)(システム時間)
253 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:23:23.05 ID:hE7BXV+L.net] 続きは半角とLINEでも交換してやれよ
254 名前:デフォルトの名無しさん [2018/07/23(月) 23:09:13.26 ID:SStA1pnM.net] オレのとこでは baka_parもbaka_specも どっちも30〜32MiB/secだから同じだ つまりほとんど読み込み時間 どっちも8分ぐらいかかる で、そっちのは baka_spec turnaround_time ::= 2.27 sec ← 2秒で読み込めてる! baka_par turnaround time : 20(secs) そっちでは明らかに解析処理が足をひっぱってる つまり初回の解析処理をさぼればもっと速くなるハズ
255 名前:デフォルトの名無しさん [2018/07/23(月) 23:24:47.71 ID:SStA1pnM.net] man7.org/linux/man-pages/man2/posix_fadvise.2.html posix_fadviseを追加したからな シーケンシャルリードであると ちゃんと日本語になってるわ
256 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 00:12:21.91 ID:dbjTOx+1.net] >>246 par, specともにほぼ同じですか。 すみません。話についていけてないです。。 初回の解析処理をサボるとはどういうことですか? 自分が書いたら40〜50secだったので20secですでにかなり速いと思ってるんですが、まだ高速化の余地があるんですね。
257 名前:デフォルトの名無しさん [2018/07/24(火) 01:27:55.10 ID:2rkV2Cvq.net] 普通に考えたらこんなもん全部メモリに格納しようというほうが 普通に考えて狂ってると個人的には思うからな、それ専用の計算機ならともかく ちなみに全部メモリに格納しようとすれば、その格納のオーバーヘッドで さらに時間がかかることになることは予見できてる すべてメモリにのせるDBの発想に近いが、そういうDBMSでも起動時のロードにはものすごい時間がかかる かりにな全部データをメモリに格納しないなら 全部解析する必要はない 過去にセクションは100個ないぐらいといってたと記憶してる 仮定の話になるが、例えば1セクション読みこむのにどれぐらい時間がかかるかということになる いまぐらいの速度がでるなら セクションの位置とサイズだけを先に取得して 後で必要な部分のデータを再度読みこんでオンデマンドで解析しても 十分な速度がでるような気がしないでもない (最初にどこまで解析して取得するかはとりあえず今はおいといて)
258 名前:デフォルトの名無しさん [2018/07/24(火) 01:32:16.00 ID:2rkV2Cvq.net] で、やりたいことは、これまでのレスを読むかぎりでは でっかいファイルの内容を画面に表示するだけだと思う それだけのことなら実機の高い処理能力を考慮すれば トップダウン方式で必要な箇所をオンデマンドでロードして取得する方法で十分な気がする そのほうが計算機にも優しいし、15Gのデータを全部眺めるバカなんかまずいないだろうしな こんな感じのことをやるのかなあとは思ってる Ex. データ取得の要求が3段階でされると仮定してる @セクションの列 AXY with QQ、RRの列(入力:セクションのSEQ) B数値の列(入力:XYのSEQ) A) 画面の初期表示では@で十分 B) セクションを展開して表示するときはAの取得で十分 C) X、Yを展開して表示するときはBの取得で十分
259 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 06:39:30.18 ID:0yPjFIBM.net] >>246 解析処理が足を引っ張ってるのは お前の解析処理が遅いから >>248 まともに作れば解析自体は8秒で終わる
260 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 00:09:01.02 ID:rOCCX8po.net] >>249 ,250 >すべてメモリにのせるDBの発想に近いが、そういうDBMSでも起動時のロードにはものすごい時間がかかる まさにこの発想で考えていました。 すべて構造体に格納しようかと… > @セクションの列 > AXY with QQ、RRの列(入力:セクションのSEQ) > B数値の列(入力:XYのSEQ) > A) 画面の初期表示では@で十分 > B) セクションを展開して表示するときはAの取得で十分 > C) X、Yを展開して表示するときはBの取得で十分 アドバイスありがとうございます。 1stステップ →上記@のセクション名、次行にあるx/yの個数、その次のテキスト行を取得しGUI表示 2ndステップ →GUIから セクション内の数値全部 or x/yの任意の番号 のどちらかを選択し表示(上記ABをその都度fseekでピンポイントに取得) の2段階で検討してみます。 支配的なのはBの部分なので、そこを分離すれば負荷はかなり減るのではと思います。 >>251 8秒ですか。。 そのようなハイレベルな解析は日曜大工レベルの自分には当分作れそうにないです…
261 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 01:22:39.02 ID:FQQJXzBx.net] >>252 何をする気か知らんし、読み返す気もないが、 > 日曜大工レベル なら他言語使えよ。今のC++は君向けではない。 一通りも出来ないのだから、普通はPerl/Ruby/Pythonのどれかだと思うが。 あとここは「ぼくのさいきょうのそふとうぇあ」のスレではないから、 実際埋め立て状態だし、全く終わる気配もないし、 別スレ立ててやるのがマナーだと思うぞ。
262 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 05:58:28.01 ID:5wxx8yDL.net] A.exeがB.exeを立ち上げる A.exeがB.exeの起動時に共有メモリ先を渡すのに その空間を指定するのはどうすれば良いんでしょうか
263 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 06:13:44.62 ID:aR1SGvNs.net] 共有メモリの名前を渡す
264 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 07:25:34.67 ID:5wxx8yDL.net] winAPIのmemorymapedfileを調べてみたけど winAPI便利だが触ったことないと敬遠しちゃう
265 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 13:33:42.64 ID:CBV5hJrX.net] >>253 日曜大工とか書いてるけど、サーバー使ってやるとか言ってたから実務だと思うが あまり初心者を弾くようなことを言うな >>252 速度は実用レベルになりゃそれでとりあえずいいんじゃないの ドヤりたいやつや喧嘩したいやつに惑わされるな 回答は参考にとどめて、自分でやってみてどうしてもわからないところだけ聞きに来い スレを私物化するな
266 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 17:57:43.34 ID:EWaeEahr.net] >>254 プロセス間共有メモリはプラットホーム依存でありC++の範疇ではないので、続きは以下スレでどうぞ。 >>256 あなたも。 Win32API質問箱 Build124 ttps://mevius.5ch.net/test/read.cgi/tech/1510395780/
267 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:13:03.63 ID:v8CmSWWw.net] >>257 この程度のことを延々と続けられては、迷惑行為でしかないだろ。 実務なら上司に聞け、でしかないし。 最近アホが大量流入して、このスレは一気にレベルが落ちたよな。 お前らがそれについてどう思っているのかは知らんが。 お前は「プログラミング初心者」をここで飼いたいのか? 「C++初心者」はいいとして、C++は「プログラミング初心者」向けの言語ではない。 そもそも組み方も根本的に間違っている気がするが、 俺はこんな奴に教えてやる気はないし、 他の誰も指摘しないところを見ると、まあそういうことなんだろ。 (俺はソースは見てないが)
268 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:15:56.59 ID:h5CHP+XR.net] 確か上級者スレってあったはず 上級者はそちらに移動し、ここを見ないで
269 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:32:17.67 ID:Iaq9Mrpc.net] 空気読めないド初心者と、ド初心者相手にマウント取ってイキってる半角雑魚オヤジが二人で傷を舐め合ってるだけ その二匹をNGすれば平常運転よ
270 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:38:59.40 ID:v8CmSWWw.net] >>260 乗っ取るのではなく、お前が移動しろよ馬鹿タレ 【初心者歓迎】C/C++室 Ver.103【環境依存OK】 https://mevius.5ch.net/test/read.cgi/tech/1530384293/
271 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:01:29.95 ID:CBV5hJrX.net] >>259 いやそもそもは速度が必要なのでC++選んだ(C++については素人なので、何故自分のコードが遅いかわからない)、という話 最初の質問は何もおかしくなかったよ 前スレはもう読めないかもしれんが。 もういい加減自分で進められるだろうからいちいち報告しないでほしいが
272 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:20:05.41 ID:v8CmSWWw.net] STLつかうと一気に実行ファイルサイズが10倍に?! 環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。 とかいうエラーが出るんだけどこれってどうすればいいの? #include <stdafx.h> 後死ね。 言葉が悪いな。それで教えているつもりか。 まぁヒントぐらいにはなったな。 うむごくろう。 いつまでこの糞テンプレ張り続けるんだおい ---- テンプレ ここまで ---- >>263 なんだかんだでこのテンプレが馬鹿よけとして素晴らしく機能してたって事だよ。 それを嫌う奴が無理に剥がそうとした結果、このザマだ。 このテンプレはこのスレを極めて的確に表現しているし、C++のノリはこれだよ。 しかし、スレ検索するとC++スレって40もあるのな。正直びびったわ。 適切なスレを探すことも出来ない馬鹿にはC++なんて無理だってことでしかないが。
273 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:38:35.94 ID:v8CmSWWw.net] >>263 これか? (専ブラでは読めないが、今はdat落ちしないので、通常ブラウザなら過去スレは基本読める) > 743デフォルトの名無しさん (アウアウウー Sa0b-sule)2018/07/07(土) 23:53:17.73ID:HbEbhDY0a > LINUXで15GBくらいのテキストファイルを読み込
274 名前:ンこんでGUIを作ろうとしています。 > ファイルが大きいため速度が出せる言語で、かつGUI作成は情報量が多いと調べやすいので、まあまあメジャーな無料のGUIライブラリを使用したいと思っています。 > > perl>>python>>>>C++ の順で経験があり、C++はあまり詳しくないですが、速度重視でC++で行こうと検討しています。 > GUIライブラリを調べているのですが、C++のGUIはあまり情報を見つけられず、めぼしいのはQtくらいしか目に付きませんでした。 > 会社のサーバのローカルディレクトリにQtをインストールしてみましたが、必要なライブラリが古かったりで、インストールできませんでした。 > > 他に何かおすすめなGUIライブラリはありますでしょうか? > https://mevius.5ch.net/test/read.cgi/tech/1528382412/ ならC++選んでいる時点で間違いだろ。 理由は教えてやらないが、当然そうだからこそ、適切なライブラリがない。 というか、本当に初心者でないのなら、 適切なライブラリがない=みんなやってない=地雷臭を感じとれっての。 C++で書けば何でも速くなると思っている馬鹿、最近増えたよな。何故かは知らんが。 [] [ここ壊れてます]
275 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:52:15.60 ID:MsjPsnRN.net] くだらない選民思想はやめた方がいいよ、C++をベターCとしてしか使えない人でも 素晴らしいソフトを書き上げてる人は腐るほど居る 大体選民思想に走るやつってC++を実用してないやつなんだよなぁ・・・
276 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:54:27.06 ID:MsjPsnRN.net] >>265 読めるなら読んでから言えよ >適切なライブラリがない。 >みんなやってない=地雷臭を感じとれ 俺ゲーム屋なんだけど、居た会社はどこもみんな自社でライブラリというかフレームワーク作ってる 全部地雷なのか? お前アマチュアだろ?
277 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:55:36.48 ID:VnR4R5Pj.net] >>253 ,257 ご意見ありがとうございます。 自分にはもったいないくらいの洗練されたコードまで出して頂いてとても感謝しています。 アドバイスの通り、頂いたコードを元に自分で調べて見ます。 また色々やってわからないことろがありましたらご相談させてください。 あと、このスレはこれからも拝見させていただきたいと思います。
278 名前:デフォルトの名無しさん [2018/07/25(水) 21:34:44.04 ID:EWaeEahr.net] 共有ポインタがC++に正式採用されたことで、JavaなどGC機能を持った他言語の優位性が薄れたわな。 コンパイル速度も上がったし、開発機のメモリも増えたしで、昔よりC++を使うストレスが軽くなった。 なので皆、C++に回帰してくる。
279 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:47:04.47 ID:WkyhwwwQ.net] >>265 うわっ なんだこの初心者丸出し野郎 >>266 > C++をベターCとしてしか使えない人でも 使えない じゃなくて いろいろと判断してそういうコードに意図的にするんだよ そう判断する理由の例としては 互換性 パフォーマンス コードサイズ 開発工数 / 評価工数 等々
280 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:52:55.17 ID:99/tYlRK.net] >>267 話の内容から読む価値が全くないと分かるから読まないんだよ。 つか、初期はみんなまともな指摘してるじゃねえかよ。 ガン無視して今の有様のようだが。 > お前アマチュアだろ? お前も無駄マウントするのではなくて、実力は投稿で示せよ。 そもそもC++用ゲームエンジンはありまくりだろ。 C++はその用途に向いているからみんな使ってる。だからそういう現実がある。 俺はそういうことを言ってるんだよ。 (日本の会社は何故かプロプライエタリに拘っているのも事実だが)
281 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:11:44.07 ID:MsjPsnRN.net] >>271 >お前も無駄マウントするのではなくて、実力は投稿で示せよ。 俺は半角のコードでいんじゃね?と思ったんで何も言わんかったw >C++はその用途に向いているからみんな使ってる あーそういうことか でも構文解析をC++でやるのは決して間違いではないと思うけどな
282 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:18:29.68 ID:WkyhwwwQ.net]
283 名前:P純な構文解析を大量に行う なんて処理はCやC++がぴったりと思う [] [ここ壊れてます]
284 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:25:44.36 ID:exbGUQmA.net] まあ新しい機能がバンバン入る言語やライブラリってのは選民思想が湧きやすいもんよ。 昔からこの業界のそういうところは変わらん。 そしてそういうものがレガシーコードを量産するという現実も変わらん。
285 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:04:43.31 ID:99/tYlRK.net] >>272 > でも構文解析をC++でやるのは決して間違いではないと思うけどな 大昔:yacc/lex 昔:bison/flex 最近さらに何か出てたと思ったが、使う気がないので忘れた。 そもそも元が15GBあって、それを全部目で見るわけないだろ。 単純には grep -i error とか、複雑ならいちいちperl等で切り出して眺めるもの。 やってることが最初から見当違いなんだよ。 仮に15GBのテキストを開けるテキストエディタを作ったとして、 スクロールバー長が1500pxあったとしても10MB単位でしかなく、 ドラッグアンドドロップでのスクロール操作は使い物にならない。 当然、マウスホイールで数行単位、クリックで1画面単位でスクロールしても埒が明かない。 結果的に行数じか打ちのジャンプしかないんだから、sedでいい。 俺が教えてやらねえ、って言ったのはこの件ではないけど、 「誰もそういうことをやらないからそういうもの(ライブラリ等)がない」ってのはあるから、 初心者なりにちゃんと考えろって事だよ。 上記は初心者でも理解できるだろ。気が付かないのは考えてないだけ。 そんな奴は勝手に死んでよし。
286 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:18:30.44 ID:MsjPsnRN.net] >単純には grep -i error とか、複雑ならいちいちperl等で切り出して 確かそれはやりたくないって言ってたと思う まぁ、俺もテキストのまま扱うのはどうかとは思ったけども 別に内容書き換えるわけじゃないんだしトータルでもメモリ上に残す情報は 大した量にはならないだろうから全部読めばいいじゃん、テキストは内容を理解したそばから捨てていいんだから (用途が俺もわかってないからどっちがいいか不明だけど、初めて使うウインドウを開いたときに ファイルアクセスと構文解析のラグを許容できるか、それとも立ち上げ時のラグを許容できるかどうか) ってまぁ、さんざん既出なんでこのネタはもうやめようw
287 名前:デフォルトの名無しさん [2018/07/25(水) 23:21:30.63 ID:n4Pkvb3R.net] オレのコードのエレガントさが分かるようならまだ芽はある オレのコードのエレガントさが分かるなら、もう一人でコードが書ける これからも頑張り精進したまえ 低学歴知恵遅れニートのいうことなんかほっとけばいい >>275 ← こういう低学歴知恵遅れを見れば分かるとおり 相談してる相手がまずなにがやりたいのか全く理解できてない まず知能に著しい欠陥があるからまずなにごとであれ 要件というもんが理解できないのは間違いない オマエも人に仕事をたのむだけの立場になったらな >>275 ← こういうバカには仕事を頼んではダメだ ということもこのスレで学べたハズだ コレもこのスレで得た貴重な体験だ コミュニケーション能力がゼロのニートみたいなヤツだからな こういうヤツは 間違いなくこっちがお願いしたもんとまったく違うもんあげてくる つまりこんなヤツには最初から仕事頼んだり関わらないのが吉 こっちの余計な手間と時間だけがかかるからな このスレは、色々学ぶことができる これからもちゃんとこのスレ読んで精進しなさい
288 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:28:31.94 ID:EWaeEahr.net] sqliteはメモリ上にデータベースを構築できる。 どうせやるならsqliteに勝てるような車輪の再発明を期待したい。
289 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:31:38.85 ID:EWaeEahr.net] ramdiskで良くね?と
290 名前:「うのもある。 [] [ここ壊れてます]
291 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:14:32.88 ID:yqOLTJbQ.net] >>276 ってかまじな話、正解だと思えるレスも散見されてるぞ。 無視してるんだからどうしようもないが。何がやりたいんだこの馬鹿は? なお、俺的に正解と思えるのは、以下。(見落としあるかも) ---- 773デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/08(日) 23:16:50.92ID:w/p0hjmq0 テキストのパースなんてそれこそperlやpythonにやらせろよ そんなところが速度にクリティカルに効いててゴリゴリ高速化しなきゃいけないのは作りがおかしい 866デフォルトの名無しさん (ワッチョイ 5fb3-C8Iw)2018/07/09(月) 22:41:30.68ID:Xc+Rjkat0 最低限のパースを実施して各レコードのオフセットを配列に入れて必要になった時に解析して表示すればいいだけかと 873デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/10(火) 01:34:56.63ID:C7bP6ErJ0 なんかのログなんだろうけど、ログ吐く時に読み込みやすいように出し方考え直した方がいいよ 大本が変えられないならパイプ繋いでフィルタ噛まして、読みやすいように直したファイルを並行して吐くとかさ というかまず単にSECTION_NAMEごとにファイルぶった切っておくだけで良かったりしない?難しく考えすぎてない? 874デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/10(火) 01:46:08.72ID:C7bP6ErJ0 どういうGUIが必要なのかわからんから的外れかもしれないけど ワイならSECTION_NAMEごとに集計したHTMLファイルかなんかを出力するプログラムをワンパスかけてから 後でそのHTMLをブラウザで見ることを考えたくなるんだけどそれじゃダメなの? 880デフォルトの名無しさん (ワッチョイ 4750-SFkP)2018/07/10(火) 07:31:15.21ID:wSs+8Os00 初めて開くファイルは使いやすいように変換して(キャッシュとして)保存しておいて 次回以降それを使うか 全ファイルバッチ処理で事前に変換しておくか かな ファイルを開く度に分オーダーかかるのは使いづらい どちらが良いかは使い方次第で
292 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:15:01.25 ID:yqOLTJbQ.net] まあ、俺ならperlで15000のファイルにあらかじめパースしてぶった切って、lessで見るね。 テンポラリファイルの有効/無効はタイムスタンプをチェックすればいいだけだし。 初心者は(選択肢を思いつけないから)無駄に難しい選択をしてはまることはよくあるけど、 正解をガン無視しているんだから死ねでしかないね。 これではお前ら的にもどうしようもないわな。 嘘を嘘と(ry は当然だが、 正解を正解と(ry だな今回は。
293 名前:デフォルトの名無しさん [2018/07/26(木) 00:27:42.26 ID:/19Lz3R7.net] やっぱりなコレが低学歴底辺の限界 わかるわ 所詮、低学歴底辺のドカタ 低学歴底辺のドカタは自分でログ見るらしいからな すぐに分かるのが恐ろしい このスレにはそんなのしかいないわ
294 名前:デフォルトの名無しさん [2018/07/26(木) 00:30:53.03 ID:/19Lz3R7.net] クソニートの趣味のぱちょんこん講座の邪魔されて クソニートどもがイライラしてるのはわかるわ クソニートのツールなんかクソニートしか使わないからな クソニートらしい発想といっていい まず自分がどうするありきだからな 自分以外の人間なんか関係ない クソニート臭がプンプンする やっぱりなニオイは隠せないわ
295 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 05:31:33.95 ID:rsKHES0B.net] 自己紹介乙
296 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 07:10:18.33 ID:QCphLLid.net] 前スレからID追うと、このスレ立てたの15Gテキストの質問者で ワッチョイとテンプレを失敗してる いっそワッチョイ付きで立て直して、ここは放棄するのもありじゃないかな…
297 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:02:19.67 ID:wiCSHgxo.net] 失敗してるワケねーんだよなぁ ワザとだろ 俺TUEEするためだけに立てられたクソスレだよw
298 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:03:29.18 ID:wiCSHgxo.net] やってることがTUEEとDANZAI、アホなSS未満のクズだろ だからワッチョイは無いw
299 名前:デフォルトの名無しさん [2018/07/26(木) 15:23:01.83 ID:MiqKt3xH.net] 世の中のパーサーは入力としてストリームを想定する場合が多い。 一方、OSはストリームを想定しなくなってきている。 IOCP、epoll、kqueue等を想定するプログラムにとって、必要なものは、一文字入力すると状態が変わるようなプッシュ型パーサーではないだろうか。
300 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:05:05.87 ID:SqpdcEmq.net] 文字列変換を質問したい
301 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:11:39.16 ID:SqpdcEmq.net] 途中で送ってしまった... キャラポインタをビーストリングに変換したいです マ ルチバイトトゥーワイドキャラでよい? 今やってるのだけど一切できなくて辛い 環境はウィンドウズです エヌジーワードのためカタカナ混ぜてます
302 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:43:19.63 ID:vMAtbXfy.net] >>290 C++的な回答をするなら、BSTRをラップしたCComBSTRクラスを使ったほうが楽だしドキュメントも多くていいと思うよ。
303 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:54:29.47 ID:ekCvPRG2.net] >>291 そんなのがあるんですね コム使うのは良いのかわからんな...
304 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:22:38.59 ID:vMAtbXfy.net] >>292 すでに知らないうちにCOMを使っているはずなので、今更COMを使ってよいか気にしなくていいよ。
305 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:23:33.36 ID:JU6NqyqF.net] >>285 俺は賛成。STLのテンプレもありでよろしく。 (まあ俺が賛成しても大局に影響はないが…)
306 名前: mailto:sage [2018/07/26(木) 23:29:25.64 ID:vjtcTWe7.net] >>294 別にテンプレがあろうとなかろうと、スレに投稿される内容に変わりはしない、と思うのですが? もしかして「おまじない」とかが好きなんですか? 半角氏は連続して投稿する傾向にあり、IDだけで割合に弾けるのでワッチョイは要らないと思っています
307 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:42:18.00 ID:5Jkoyh2A.net] あんなテンプレいらんだろ… まさか自分が作ったとか?
308 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:55:55.79 ID:JU6NqyqF.net] >>295 > テンプレがあろうとなかろうと、スレに投稿される内容に変わりはしない ならあってもいいって事になるが、それに対する反論は? 俺はワッチョイもあのテンプレも機能してたと見ている。 実際、もう初心者要らないんじゃ、って話になってたのは事実だろ。 お前がそれに反対したのも事実だが。
309 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:59:13.70 ID:OhRJcz2i.net] >>280 ご意見ありがとうございます。 SECTIONごとの切り替え目安は下記の時間でSECTIONを切り替えながら別のGUIソフトでマウスを使って改善していきます。 @数値の数が一桁〜二桁程度だと数分で切り替え、 A数百〜数千レベルだと数十分〜数時間で切り替え、 Bそしてまた再実行しファイルを読み込み@に戻る 初期の小さい規模ではSECTION数が数十個で、各SECTIONの数値の個数はせいぜい数百レベルなのでSECTIONの切り替えが頻繁に発生します。 そして@〜Bを回すのが数十分〜数時間くらいでそれをくるくる回します。 数ギガレベルになるのは終盤になってからです。 という感じなのでファイルの再生成が頻繁に行われ、かつGUIでマウスで改善していくので マウスが手放せず解析表示もGUI操作が必須になる、という感じになっています。 小さい規模では特にSECTION切り替えが頻繁に発生するのでファイル分割で管理がわずらわしくなるのを避けたい。 まずここに重点を置き、そうすると大きい規模では読み込み時間がネックになるので高速化で対応しよう。 という状況で現在に至っているところでした。
310 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:01:55.2
] [ここ壊れてます]
311 名前:5 ID:wdZoBIJt.net mailto: >>298 死ねよゴミ。 俺はお前が正解を全部ガン無視したことを咎めてるんだよ。 [] [ここ壊れてます]
312 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:03:32.92 ID:o3vIRrYt.net] >>293 そんなもんなんだ Char**→LPCWSTR変換ってsetlocale使う方法しかない?
313 名前: mailto:sage [2018/07/27(金) 00:13:35.77 ID:dNDh2QHO.net] >>297 >ならあってもいいって事になるが、 そうではなく、すでに在るこのスレを放棄する必要はない、と主張したつもりですが 同様に、例のテンプレが張ってあるスレの存在下で、新たにテンプレなしの新スレを作る必要もない、と考えます
314 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:32:44.94 ID:27BaLAkY.net] >>300 setlocaleは関係ない。setlocaleは、C関連の設定をすべて変えてしまうので、ここでは呼ばないほうがいい。 MultiByteToWideChar() で可能。 出力用のLPWSTR バッファは、スタックなりmalloc, new, std::vector<wchar_t> なりで確保したヒープメモリを使い、 受け取ったLPWSTR バッファの中身をCComBSTRのインスタンスにコピーするのがいいと思う。
315 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:44:14.53 ID:wdZoBIJt.net] >>301 > そうではなく、すでに在るこのスレを放棄する必要はない、と主張したつもりですが じゃあそう書けよドアホ そしてその場合は285に安価しろ まあとにかく、俺は新しくスレを立て直すことに賛成だ。 あのテンプレも機能してたと思う。 そして15GB君と半角キチガイには何も教えてやる気はない。 スレ住民が出来ることは、正答例を提示することのみであり、 今回はこれは複数人から十分為されている。 ゴミなのは質問者および半角キチガイ馬鹿だけであり、 ワッチョイが意図的に落とされたことにより荒らされていると懸念されるのなら、 このスレを破棄して新しくワッチョイスレでやり直すのは極めて妥当だ。 んで、ついでに正解提供者がHDDの速度について知らないようだから教えておいてやる。 サーバーのHDDは一般にRAIDになっており、スループットだけはいくらでも上げられる。 詳しくはググッた方が分かりやすいからそうしろ。 なお一般PCも今時はRAIDを標準装備しているが、 1. そもそも複数HDDを接続しない 2. マザー等HDD以外の故障の場合に余計に死ねる ので一般PCでRAIDを構成することはあまり無い。 また、SSDが速いのはランダムリードであり、 シーケンシャルライト(ログ吐き)の場合はHDDの方が速かったりしたはず。 質問者と半角キチガイは死ねでしかないが、 正解提供者が疑問に思っていることがあれば、知ってれば答えてやるよ。 スレの質を上げる為に努力した奴らは報われるべきだと思うから。 今回は質問者が悪すぎた。これはご愁傷様。
316 名前:デフォルトの名無しさん [2018/07/27(金) 00:49:14.72 ID:X8KcH05s.net] オレが強いワケがないからな クソニートどもがよわっちいだけだからな クソニートどもが社会人に勝てるワケがない クソニートどもがとてつもなく弱いワケ その自覚がないのが恐ろしい
317 名前:デフォルトの名無しさん [2018/07/27(金) 00:50:56.55 ID:X8KcH05s.net] クソニートどもの戯言が正解だって() 身の程知らずもいいところ クソニートどもはクソニートの狭い世界で すべてが完結してるからな その自覚がないから救いようがない
318 名前:デフォルトの名無しさん [2018/07/27(金) 00:53:36.63 ID:X8KcH05s.net] このスレに相談してくる人間は クソニートのアドバイスなんか求めてないわけ? わかる? オレみたいなプロフェッショナルに回答を求めてるわけ クソニートのテキトーな戯言なんかだれも求めてない わかった?
319 名前: mailto:sage [2018/07/27(金) 00:54:58.75 ID:dNDh2QHO.net] >>303 >あのテンプレも機能してたと思う。 根拠は? >ワッチョイが意図的に落とされたことにより荒らされていると懸念されるのなら、 >このスレを破棄して新しくワッチョイスレでやり直すのは極めて妥当だ。 新しくスレを立てても、そのスレにて半角君や150G君が発言を継続するのであれば、事態は変わらないのでは? 月並みな話だけれども、単にスルー力が足りないだけなのでは? 5年、10年とスルーし続けることも必要な場合はあると思います
320 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:56:25.04 ID:A3iaMhaK.net] わかった
321 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 01:18:44.81 ID:wdZoBIJt.net] >>307 なるほどお前とは話が通じないことは分かった。 お前が嫌われるのも納得だ。 > 根拠は? 先に「機能してなかった」根拠を提示してみろ。 > 事態は変わらないのでは? ワッチョイがあればここまで酷くはならない、というのが彼の見方で、 俺もそう思う、ということ。 というかマジでお前話の内容について来れてないだろ。 無理して食いついてこなくてもいいぞ。邪魔でしかないから。
322 名前:デフォルトの名無しさん [2018/07/27(金) 01:25:39.79 ID:X8KcH05s.net] もうねクソニートが必死でしょ すぐにクソニートなのはレスですぐにバレちゃうからな コイツの脳内ではインフラとソフトウェアすら組織で分離されてないみたいだからな クソニートの自作パチョコンの世界を そのまま脳内で再現してる
323 名前: mailto:sage [2018/07/27(金) 01:33:55.71 ID:dNDh2QHO.net] >>309 >先に「機能してなかった」根拠を提示してみろ。 私は「機能していた」とも「機能していなかった」とも主張していませんが あなたは >>303 「機能していた」と判断しているのであれば、その理由もおしえていただけませんかね >ワッチョイがあればここまで酷くはならない、というのが彼の見方で、俺もそう思う ワッチョイは有効期限が長すぎるし ID とちがって専用ブラウザでの機能が充実していないからね… 私は ID で快適にスルーするべきものはスルーできていて無問題なんですけれどもね
324 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 04:56:28.85 ID:/nUzesew.net] HTML出力を正解だと思ってるやつや size_t使ってる場所で出るコンパイルエラー程度で「動くコード書けよ」とか 恥ずかしいこと言った上に、謝りもしなかった初心者が 偉そうに仕切ってるスレって・・・w
325 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:57:19.44 ID:Mz+rSfRQ.net] コンパイルエラーが出るのはまずくない?
326 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 07:04:43.26 ID:m0uy41dr.net] 紙上コードでタイポするぐらいいいだろ!
327 名前:デフォルトの名無しさん [2018/07/27(金) 08:03:50.66 ID:u6e3tzrN.net] ワッチョイがあればQz弾けるやん。
328 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:28:06.62 ID:NS0U2LcD.net] >>309 他のスレにはないのだから要るって主張してるほうが根拠を示すべきだろ。
329 名前:デフォルトの名無しさん [2018/07/27(金) 08:48:04.76 ID:u6e3tzrN.net] >>316 このスレにはQzが粘着してるやん。
330 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:55:01.54 ID:NS0U2LcD.net] >>317 テンプレが何の役に立つの?
331 名前:デフォルトの名無しさん [2018/07/27(金) 09:04:30.33 ID:u6e3tzrN.net] >>318 テンプレは俺が荒らしたから出来たものだし、あのテンプレがあると俺は恥ずかしくて荒らせない。 そこら辺の経緯を知りたいか?
332 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 11:24:09.66 ID:DyyEKTZY.net] 知りたい
333 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 11:30:38.87 ID:NS0U2LcD.net] >>319 それなら自分の机の上にでもはっとけばよくね?
334 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:40:38.56 ID:dsPS3Oy7.net] すっぽすっぽ先生の日本講演の日なのにくだらねえ話ばっかりだな
335 名前:デフォルトの名無しさん [2018/07/27(金) 15:48:27.31 ID:u6e3tzrN.net] すっぽん先生って誰だよ。
336 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 16:00:10.02 ID:454wB1N8.net] 俺には ビャーネストスト に聞こえる。 https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B4%E3%82%B9%E3%83%88%E3%83%AB%E3%83%83%E3%83%97
337 名前:デフォルトの名無しさん [2018/07/27(金) 16:06:17.77 ID:u6e3tzrN.net] 禿のことかよ。
338 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 21:27:48.11 ID:K5tMY89A.net] ターミナルでタブキー押すとディレクトリやファイル名が補完されますがプログラム上でそれを起こすにはどうやればいいのでしょうか
339 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 23:26:03.34 ID:yQgFrYID.net] >>311 > 私は「機能していた」とも「機能していなかった」とも主張していませんが ならまずお前が俺に絡んできた理由を教えろ。 といってもお前は相当のコミュ障のようだからどうせトンチンカンな答えになるだろう。 続けても意味無いから答えを書いておいてやる。お前には会話の常識がないんだよ。 既に言ったとおり、 > そうではなく、すでに在るこのスレを放棄する必要はない、と主張したつもりですが なら俺にではなく、285に対してレス『しなければならない。』 そしてこの状況で俺に対して > >あのテンプレも機能してたと思う。 > 根拠は? と問いただすのなら、常識的にはお前は「機能してない」と思っていると仮定される。 逆に、この状況で単に > 私は「機能していた」とも「機能していなかった」とも主張していませんが という、単純に理由が知りたいだけだというのなら、それを明示『しなければならない。』 (それ以前に、普通に空気読める奴なら、不要不急な質問をここでは控えるが) お前は相手に自分の意図が正しく伝わるように書けてない。 だから無駄に脱線して空回りし、話が進まない。だから嫌われる。 コミュ障の典型的パターンだ。「自分はそう言ってませんが」で全て通ると思っている。 そうじゃない。 意図を正しく伝えて会話を成功させる努力義務は相互にある。お前は全くそれが出来てない。 おかげで俺は無駄な話を書かされまくってる。大迷惑だ。 というわけでQZは話にならないのでとりあえず放置だ。 >>316 お前は当然「あのテンプレは意味無い」と思っているんだよな? では逆に聞こう。 何故あのテンプレを剥がしたがっている奴がいるのだと思う?
340 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 23:31:35.61 ID:n6a2xyXf.net] >>327 逆に聞くなよ。先に答えろアホ
341 名前: mailto:sage [2018/07/27(金) 23:48:50.60 ID:dNDh2QHO.net] >>327 >そしてこの状況で俺に対して (>>303 ) >>>あのテンプレも機能してたと思う。 (>>307 ) >> 根拠は? >と問いただすのなら、常識的にはお前は「機能してない」と思っていると仮定される。 常識とはなんですか? かりに、あなたのいうところの常識が妥当なものであったとしても、自分で「仮定」といっているんですよね?あくまでも仮定ですよね? 仮定というからには、仮定が成立しない場合もありうるんですよね? 私は、 >>303 >あのテンプレも機能してたと思う。 という結論を、どういう推論を経て導いたのかを聴きたかっただけなんですが。 >単純に理由が知りたいだけだというのなら、それを明示『しなければならない。』 どうして?
342 名前:デフォルトの名無しさん [2018/07/27(金) 23:58:28.72 ID:u6e3tzrN.net] >>329 テンプレがあると俺が荒らせないからに決まってんだろ。
343 名前:デフォルトの名無しさん [2018/07/28(土) 00:02:12.95 ID:jbwKRPPF.net] タブキーによる補完の仕組みは compgenを調べればすぐに分かる つまり これこそ ググレカス
344 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 00:43:14.60 ID:/nZLT2uf.net] >>330 中二病こじらせてんのか
345 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 01:02:06.96 ID:+BSazAb2.net] もっとメタプログラミング的なテンプレが良いね
346 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 02:09:39.90 ID:cypKnBYi.net] >>329 回答は既に327に書いてある。 何度でも読み返せ。 >>328 まあお前らゆとりはその程度だとは思っていたさ。 おそらくお前の戦略は、俺が証明できないから無効だと言い張ることだろ。 だからこそ、お前らは先に言い出せない。必ず俺に先に言わせようとする。 それで、俺が証明できたら、どうするつもりだ? 実は逆説的だが証明自体は簡単なんだよ。 嫌がっている奴がいること自体が、効いてる証拠なんだ。 わかるか? お前があのテンプレを剥がしたがっているしたら、例えばそれはお前にとって不快だからだ。 不快だと思う奴は、そういうスレに来ない、または来にくくなる。 本当に訳の分からないテンプレを貼られてたら、アウェイ感が出るだろ。 そしたら入って行きにくくなるだろ。 だから、積極的にテンプレを改変しようとする奴がいること自体、効いてる証拠なんだよ。 勿論>>1 すら読んでいないゆとりレベルの馬鹿>>260 には効かないが。 とりあえずかなり長いことあのテンプレは貼られていて、それで質は保たれてた。 最近積極的に剥がし、そしてワッチョイも剥がされてこのザマだ。 ここは元通りに戻して様子見するのが妥当だよ。 長期的影響を考慮できない馬鹿はここは黙って見ているべきなのさ。 お前らはすぐ老害老害と言うが、リアルはさ
347 名前:ておき、ネットは老害が蔓延れるほど歴史がない。 お前らはもう少し、己の無能さを自覚し、知識がない分野については自重する分別を持つべきだ。 [] [ここ壊れてます]
348 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 02:10:55.23 ID:cypKnBYi.net] 2ch全体が、何故か「テンプレは不変」で纏まってるだろ。 俺はこの経緯/歴史は知らないが、可能性があるのは、 1. 全員がテンプレの効果を理解できる知能があって、自然にそうなった 2. どこかで話し合いがもたれて、そうなった 3. 試行錯誤され、結果的に遺伝的アルゴリズムの淘汰により、そうなった の3つだ。 ひろゆきは「昔は賢い人しかいなかった」と言うから1だと主張するかもしれんが、 俺はこれはさすがにあり得ないと思う。 >>267 みたいに無駄に噛みつきまくる馬鹿な奴は、どこにでも居るから。 (噛みつくのではなく、投稿内容で知識レベルを示すべき) さりとて2ももっとあり得ないから、おそらく3だと思っている。 つまり、テンプレにいちいち不満があるからといって改変許可していると収拾がつかず、 結果的にそういうスレは質が下がり淘汰されてきたと見ている。 そして2ch全体がそう染まったと。 俺自身は「嫌なテンプレを作る」のも効果がある、という考えだ。 それをいちいち外されるようでは駄目なんだよ。効果が無くなるから。 そして、その効果が無くなる=テンプレを自由改変するスレは淘汰されてきたと見ている。 とはいえ、お前らはこれでは納得いかないだろう。 なら、スレ割って実験してみればいいだけだ。単純な話だ。 >>285 の言うとおり、ワッチョイ付きで立て直せばいい。 そしてテンプレがいると思う奴は、投稿すればいい。少なくとも前スレ136まではそうだった。 逆にテンプレが要らないと思う奴はこのスレを引き続き盛り上げればいい。 俺はワッチョイ+例のテンプレ付きのスレにしか投稿しないことを約束する。 それでどっちが盛り上がるか勝負すればいい。分かりやすい話だ。 また逆に、これを避けること自体もまた、 「勝てる自信がない」という意味でテンプレが有効だと裏付けていることに気づけ。 ということでいいかね? 何なら俺がスレ立てて割ってやるよ。それで勝負すればいいだけだ。 断る理由も、お前らにはもうないはずだ。
349 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 02:13:26.66 ID:cypKnBYi.net] なおあれは俺が作ったわけではない。 俺も当初意味不明なテンプレだと思ったが、しばらくすると、 確かにあのテンプレはこのスレの状態を極めて的確に表していると気づいた。 つまり、あれを「クスッ」っと感じれる奴だけ集まれ、ってことだ。 お前らがあれを剥がしたがっているのは、違和感ありまくりだからだろ。 その「違和感」こそが、効いている証拠なんだよ。分かるか? ただこの際、効いている効いてないは大した問題じゃない。 スレ割って、両方のスレがお互いに競うことが重要であり、それが直接的にスレの質の改善に繋がる。 だから、やればいいだけの話なんだよ。 >>333 ワッチョイ無し例のテンプレ無しなら、このスレを使え。 新しくテンプレが欲しいのなら、みんなで話しあって立て直すんだね。 それが妥当と思えなければ、俺が従来通りのスレを立てて様子見してやるよ。
350 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 03:02:15.88 ID:kbWsXNPG.net] 主観的、思い込みだらけでなんの根拠も示せてない。やり直し あとワッチョイについてなくても無問題と言ってるのはQzだけだ
351 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 06:57:01.71 ID:dOqiqC/T.net] IDは日毎に変わってしまうので自分の発言を見直したい時に不便。 ワッチョイ便利よ。
352 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 07:46:05.56 ID:PxykokRm.net] >>337 まあどうせそう連呼するとは思っていた。 ならスレ割って証明するしかない。 勿論反対はしないよな? とりあえず数日様子見して、話が纏まらないなら俺がスレ立てるよ。 それまでに、「機能してない」と主張する奴は「例のテンプレがある」スレには投稿しないと約束してくれないかね? 俺の逆で。 それで勝負だ。 「例のテンプレ」を支持する集
353 名前:団と、剥がしたい集団で、 どっちがマトモにスレ運営できるか、白黒つければいい。 >>329 QZ、お前もな。 ここまで絡んできて、僕は質問しただけです、は通らないぞ。 旗幟鮮明にしろ。 [] [ここ壊れてます]
354 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 07:53:22.58 ID:Q0sE5Usk.net] >>338 専ブラ使えよ…
355 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 09:33:53.70 ID:aLrZyGnX.net] エラー落ちすると自分マーク消えちゃう専ブラあるからなあ
356 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 09:35:10.36 ID:aLrZyGnX.net] 真面目に議論したいなら、強勢IP表示した方が良い
357 名前:デフォルトの名無しさん [2018/07/28(土) 10:14:13.47 ID:jbwKRPPF.net] メタプログラムとかにしたら絶対ダメだ 知恵遅れなんかがここぞとばかりに テキトーなこと書き込めるからな メタプログラムとか知恵遅れが一番参入しやすい このスレがなんで低学歴知恵遅れが多いか その理由がココにある
358 名前:デフォルトの名無しさん [2018/07/28(土) 10:17:09.09 ID:jbwKRPPF.net] まじめに議論したいなら まずクソニートや低学歴知恵遅れ そして底辺ITドカタをこのスレから排除すること まずこっから
359 名前:デフォルトの名無しさん [2018/07/28(土) 10:18:48.83 ID:jbwKRPPF.net] つまり バカは書き込み禁止
360 名前:デフォルトの名無しさん [2018/07/28(土) 10:20:31.04 ID:jbwKRPPF.net] このスレはバカの自覚がないバカが多い だから絶対にバカが治らない 一番たちがワルイ 排除するのが一番 そういうことだ
361 名前:baka [2018/07/28(土) 10:32:02.99 ID:nSNyoduL.net] メタプログラムはダメだ。つまりマクロは使用禁止!
362 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 10:36:30.00 ID:TrbWuBTr.net] >>346 ご高説ごもっともです 深く感じ入りました 以降も発言を注視させていただだきたいと思いますので お手数ではありますが 固定酉をつけていただけませんか? ご勘案のうえ ご配慮いただけますようお願いいたします
363 名前:デフォルトの名無しさん [2018/07/28(土) 10:37:15.94 ID:jbwKRPPF.net] テンプレ このスレは質問や相談にプロフェッショナルが答えます クソニート、低学歴知恵遅れ、底辺ITドカタの回答の書き込みはお断り コレでいい
364 名前: mailto:sage [2018/07/28(土) 10:38:14.68 ID:AqK1vkX7.net] >>339 >旗幟鮮明にしろ。 人間の集団を敵か見方かのいずれか一方に分ける、という人間が自然に持っている心理的限界を常に自覚しなければならないのです
365 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 10:47:27.41 ID:aLrZyGnX.net] ここがバカ用の隔離スレだからな 他のスレに迷惑かけないようにしろよ
366 名前:デフォルトの名無しさん [2018/07/28(土) 10:52:55.97 ID:qFm1KF6C.net] zx6z.psbjgiksmdgctp.tokyo/jbkxtir/dgtjj/gf8u34t4tnj/2rt35wgeg
367 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 12:02:16.12 ID:GDMb2Dkw.net] >>350 相変わらずお前は話が通じないな。 そして論点そらしか。お前もいつの間にパヨクになったんだ? 質問を変えよう。 お前は例のテンプレについて、「機能している」と思うのか、「意味無い」と思うのか、どっちなんだ? >>295 を読んだら「意味無い」と思っていると捉えられるのが普通だが、 お前的には違うつもりなんだろ。 ならさっさと答えろ。 ここまで絡んできて、まさか自分の意見がないとか、あり得ないよな?
368 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 12:19:46.53 ID:aLrZyGnX.net] 相手と話をしたいなら、普通は表現に配慮するものだ 職場や学校でいつもこうやって相手にけんかをふっかけているのかな?
369 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 12:33:49.69 ID:C+3FbN1g.net] だめだこりゃ
370 名前:デフォルトの名無しさん [2018/07/28(土) 12:48:42.42 ID:jbwKRPPF.net] このスレの低学歴知恵遅れは 表現の配慮以前に質問者つまり相手がいってることを理解できないからな 当然、コミュニケーションは成立しない それ以外にもイロイロなものが欠落している 知能に著しい欠陥があると同時に社会性もない クソニートヒコモリ特有のレスパターンといっていい 2ちゃんねるにうじゃうじゃいる登校拒否児になったまっま高齢クソニートになったようなヤツのレスパターンそのまんまだからな 精神的にも幼い で、質問内容となんの関係もないなんの役にも立たない自分が知ってるしょうもないどーでもいいこと(つまり情報価値ゼロ)を スレに書き込んでオナニーしてるワケ つまりな社会と接点のないこのスレのクソニートはコレで社会と接点がもてたと錯覚してるワケ カンペキなプロファイリングをするとこうなる そうクソニートヒキコモリはどんだけ自分がゴミでクズな存在かその自覚をもてる日はこない だからクソニートヒキコモリはずっと引きこもってる 結論はこうなる
371 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 12:54:21.12 ID:9n95SirI.net] 自己紹介おつかれさまです。
372 名前:デフォルトの名無しさん [2018/07/28(土) 12:56:10.15 ID:jbwKRPPF.net] 図星なんだろ 素直になりなさい クソニートがまともな社会生活を送ってる人間に 勝てるワケがない クソニートはどんだけ自分がゴミでクズなのか その自覚をもつのが先だからな
373 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 12:58:46.04 ID:C+3FbN1g.net] 自己紹介おつかれさまです。
374 名前:デフォルトの名無しさん [2018/07/28(土) 13:00:33.92 ID:jbwKRPPF.net] 今回質問してたヤツとコミュニケーションが成立してたのは オレだけだったからな その事実がすべて物語ってる クソニートしかいないこのスレから クソニートを排除するのが先というのが よおく分かったからな
375 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:03:17.62 ID:9n95SirI.net] クソニートしかいないスレにいるお前はクソニート
376 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:03:23.84 ID:C+3FbN1g.net] なんか嫌なことでもあったのか
377 名前:デフォルトの名無しさん [2018/07/28(土) 13:04:24.13 ID:jbwKRPPF.net] オレはクソニートをこのスレから排除する クソニートの居場所はもうない
378 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:07:50.50 ID:oI8u94+S.net] >>343 ETについてここに色々書いたことある者だけど ドヤりたいだけの馬鹿は確かに多い(ここに限らず)、けどそういうやつは見たらわかるよ 真面目にやってる人もたまにいるから一緒くたに否定しないでくれ
379 名前:デフォルトの名無しさん [2018/07/28(土) 13:09:01.74 ID:VyODD4HS.net] プッシュ型スキャナー/パーサーについて考えよう。
380 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:09:51.96 ID:aLrZyGnX.net] 面接官に「お前とはコミュニケーションが成立しない!」と罵ってしまったとか
381 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:11:52.48 ID:oI8u94+S.net] ただ俺も、まともにメタプログラミング実用してない癖に「今時のC++はメタプログラミングが主流」みたいな頭悪い大嘘ぬかす馬鹿は ここから出て行くどころか今すぐプログラミングを辞めてほしいわ どれだけ周囲に迷惑かけ、C++の発展を邪魔してるのか自覚してほしい
382 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 13:52:05.63 ID:VPkQogVC.net] >>350 なんで就職しないの?
383 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 14:06:46.53 ID:zJtcAlIu.net] >366 話し言葉もちゃんと半角なのいいね
384 名前: mailto:sage [2018/07/28(土) 14:29:03.21 ID:AqK1vkX7.net] >>368 なんで就職していないと思ったの?
385 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 14:43:10.37 ID:qPhlaL35.net] >>370 会社で働いてるの?
386 名前: mailto:sage [2018/07/28(土) 14:54:29.22 ID:AqK1vkX7.net] >>371 税金は払ってますよ…
387 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 15:14:43.89 ID:v07KtwGv.net] 消費税は無職でも払わないといけないわなwww
388 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 15:25:30.82 ID:8G21bbxI.net] まったく質問に答えてないwww
389 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 16:23:31.31 ID:0C7Daazh.net] こんなガイキチのロートルを雇ってくれる会社なんかないな
390 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 16:45:03.65 ID:jppVqscf.net] >>372 所得税は払ってるの?
391 名前:デフォルトの名無しさん [2018/07/28(土) 17:37:40.26 ID:5Q2+6uj+.net] ここ、いつから身の上相談スレになったの。話題を変えたい。 EASTL使ってる人いる?
392 名前:デフォルトの名無しさん [2018/07/28(土) 18:16:36.03 ID:VyODD4HS.net] >>377 検索してみたけど、C++17で良いのでは? 足りなければBoostで。
393 名前:デフォルトの名無しさん [2018/07/28(土) 19:26:09.04 ID:jbwKRPPF.net] このスレのクソニートどもは C++とかいってる前にな 自分の将来を心配したほうがいいわ
394 名前:デフォルトの名無しさん [2018/07/28(土) 19:27:00.82 ID:jbwKRPPF.net] バレてないと思ってるかもしれないけどな チョンバレなワケ
395 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 19:27:31.79 ID:FnoRf+hv.net] つまんね C++の話題やれよ。
396 名前:デフォルトの名無しさん [2018/07/28(土) 19:28:10.66 ID:jbwKRPPF.net] まず邪魔なクソニートを排除するのが先だ
397 名前:デフォルトの名無しさん [2018/07/28(土) 19:35:03.00 ID:jbwKRPPF.net] 低学歴がいくら低学歴を隠そうとしても 書き込みですぐにバレる クソニートはいくらクソニートを隠そうとしても 書き込みですぐにバレる 残念なことにな 当然、本人たちはそれに気付くことはできない バレてないと思ってるのは本人たちだけだからな
398 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 19:38:53.49 ID:28wdIWuU.net] >>377 何度か話題に上ってるけど使ってないな てか何のために使ってるのか逆に聞きたい
399 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 20:28:07.43 ID:k9DVhb8p.net] まあとにかく予定を言っておく。 俺は8/1以降に『完全に従来通り』のスレを立てる。 つまり、ワッチョイあり、例のテンプレあり、スレタイも不変で、part138とする。 従来スレがいいと思っているのならそれ以降このスレ廃棄で合流しろ。 あのテンプレが気に入らない等、従来スレよりも良いスレが作れると思っている奴らは、 可能であればそれ以前にこのスレで話しあって、ワッチョイ、テンプレ、スレタイ等も決め、 新しいスレを立ててそっちに移住しろ。 それでその新しいスレが賑わい、従来スレが過疎って落ちるようなら素晴らしい。 この方式(フォーク)の特長は、誰も損をしないことだ。 最悪、従来通りのスレは手に入る。 上手く行けばそれよりよいスレが手に入る。 この手の争いはフォークで解決すべきだというのが、OSS界隈では常識でもあるし。 Part138が存続している限り、俺は君たちが新しく立てたスレには投稿しない。 これは約束する。 俺は君たちにはスレ運営能力なんて無いと思っているが、 もし君たちの新しいスレが成功すれば、俺が過小評価していただけであり、 これくらいのペナルティは受けるべきだ。 ただし逆に、新しいスレを立てた連中は、少なくともそのスレが存続している限り、 従来スレには来るべきではないとも思っている。 これがフェアというものだ。これは君たちの自己に対する過大評価へのペナルティとなる。 だからQZにもその点を問いただしている。 当たり前だが、自由には責任がつきまとう。 お前らが成人しているのなら、自分の行動には責任を持て。 どっちに付くかは自由、したがってその結果がどうなろうとも全てお前の責任だ。
400 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 20:52:34.59 ID:5Q2+6uj+.net] >>384 自己満足
401 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 21:01:08.20 ID:5Q2+6uj+.net] EASTLをVS2017とwsl+gccで試した限りでは、あまり速度面でのEASTLの恩恵はない。 EASTLを使うと、知らないうちにstdのSTLに依存してしまっているコードに気づける利点があるといえばある。
402 名前:デフォルトの名無しさん [2018/07/28(土) 21:08:19.59 ID:VyODD4HS.net] 依存するとまずいの?
403 名前: mailto:sage [2018/07/28(土) 21:10:24.75 ID:AqK1vkX7.net] >>385 スルー力が不足しているだけなのに、また余計なことを…
404 名前:はちみつ餃子 mailto:sage [2018/07/28(土) 21:13:34.68 ID:36Xz3wmQ.net] >>340 複数の端末を使っている場合は専ブラを使ってても自分が投稿した投稿を統一的に管理できない。 出来る専ブラもあるんかな?
405 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 21:17:49.26 ID:DyF9e7oq.net] >>385 ダム版でやれよ
406 名前:384 mailto:sage [2018/07/28(土) 21:18:22.83 ID:oI8u94+S.net] >>386 すでに言われてるけど最近のコンパイラと最近のC++なら当時の速度面でのデメリットは結構解消されてるだろうし ゲーム専用機向けの最適化がなされたものをコンパイラも優秀なPCで使う意味があるのかなと思ってね まぁ両方を眺めるのはもちろん勉強になるだろうけど
407 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 21:34:13.71 ID:5Q2+6uj+.net] >>388 組み込みの場合はまずいことが多い。組み込みは大抵stdもどきなので。
408 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 21:40:05.17 ID:nhKIzNwX.net] >>385 結局自分が気に食わない奴らは出てってもらってスレ継承させないと言ってるだけに聞こえるが。 自分の意見がそこまで正しいと信じているなら、part138とせずに新たに1から振り直したスレを作ったらどうなんだ? きっと賛同者がついていってくれるよ。
409 名前:デフォルトの名無しさん [2018/07/28(土) 21:41
] [ここ壊れてます]
410 名前::26.83 ID:VyODD4HS.net mailto: ここははちみつ餃子さんに一任しようではないか。 [] [ここ壊れてます]
411 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:02:48.96 ID:K0euPiC+.net] >>394 ぼくはのっとりたいんです、まで読んだ
412 名前:デフォルトの名無しさん [2018/07/28(土) 22:05:04.32 ID:VyODD4HS.net] 5chって投票所無かったっけ。
413 名前: mailto:sage [2018/07/28(土) 22:10:16.83 ID:AqK1vkX7.net] >>397 「一人一票」を技術的に実現できないから無意味
414 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:20:07.96 ID:aLrZyGnX.net] 実住所と氏名を晒し、郵送による本人確認、 投票用紙を送り、記名投票を実施する
415 名前: mailto:sage [2018/07/28(土) 22:25:17.35 ID:AqK1vkX7.net] >>399 なるほど メールアドレスを晒して、というのはアリかもしれない
416 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:27:16.84 ID:K0euPiC+.net] あーまあいいや、ちゃんと回答する気になったから書いておいてやる。 なお396は俺な。 >>394 良くも悪くも、俺が立てるスレは『完全に従来通り』だからそのままで行く。 > 結局自分が気に食わない奴らは出てってもらってスレ継承させないと言ってるだけに聞こえるが。 お前も相当のアホパヨクだな。 俺が言っているのは、『従来通り』が嫌な奴は出て行って新スレを作れ、 もしそのスレが成功するならフォーク成功だ、ということ。 『自分が気に食わない奴ら』ではない。 そういうところがお前みたいなパヨクの駄目なところだ。 反対の反対になっているし、論点のすり替えを平気で行っている。 こういう、強制力を発動できないところで意見対立した場合、 現行はフォークで決着するしかない。だからそれを行う。 お前に良い案があるなら堂々とフォークすればいいし、そのブランチに賛同者は付いていくだろう。 俺は特に改善点を持ち合わせていないので、従来側のブランチは俺が担当する。 >>397-398 相変わらずQZは回答なしか。お前も相当ずるい奴だな。 まあそれはさておき、 > 一人一票 ってのは仮に実現できたとしても意味がない。 フォークが成功するかどうかは、アクティブコミッターをどこまで獲得できるかであって、 つまりここで言うと正しく回答できる奴、それは実力と時間も含めて、がどれだけどちらに付くか、 そして結果的にどちらのスレの方がマトモに機能するかであって、 ROMの票があったところで意味がないからだ。 だからスレ割ってどちらが繁盛するかがつまり投票なんだよ。それがフォーク。
417 名前:デフォルトの名無しさん [2018/07/28(土) 22:28:51.81 ID:jbwKRPPF.net] やっぱりなクソニートの書き込みってすぐに分かるわ
418 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:43:29.96 ID:oI8u94+S.net] ニートだのパヨクだの(´・ω・`)
419 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:44:52.59 ID:C+3FbN1g.net] わかるはずがないのに分かっちゃった気になるからコケるんやぞ
420 名前:デフォルトの名無しさん [2018/07/28(土) 22:45:34.04 ID:jbwKRPPF.net] パヨチョンもクソニートも邪魔 排除が適切 適切な排除が必要
421 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 22:48:36.99 ID:XeXUtcmE.net] >>401 結局テンプレの必要性は証明できないのに従来通りだからで押し切るつもりか。 スレ分割したら従来タイトルとスレ番継承したほうが圧倒的に有利なのは明らかだろう。なんの検証にもならない。馬鹿なんじゃないか?
422 名前:デフォルトの名無しさん [2018/07/28(土) 23:21:40.03 ID:VyODD4HS.net] >>406 テンプレが出来た経緯を知ってるか知らないかだろな。
423 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 23:23:14.22 ID:K0euPiC+.net] >>406 少なくともアクティブな奴はここを読んでいて経緯は知ってる。 さらに8/1迄の先行件を与えている。 それ以上何が欲しいんだ? 従来通りなんだからスレタイとスレ番は継承するに決まっている。 新しいスレが同じスレタイとスレ番なら紛らわしいだけだ。 見た目分かるように何か変えろ。それは後発の義務だ。 お前が納得してない「テンプレの必要性」を俺はフォークで証明すると言ってるんだよ。 だからお前があのテンプレが悪い方向に寄与すると主張するのなら、 それを外せば勝手にスレは改善し、みんなそっちについて行くんだろ? 試してみろよ。 お前自身が「俺が気に入らないことをやるな」と言ってるだけなんだよ。 お前の考えが正しいことは、お前自身が説明しろ。 そしてどちらのスレが使われるかが、投票になる。 非
424 名前:常に民主的に決まる、良いやり方だと思うぜ、フォークは。 或いは他に良いやり方があるというのなら、提案してみろ。 俺は俺なりの説明はした。 あれで納得いかないのならどうやっても平行線だと分かっているから、 俺はフォークしかないと判断している。 お前は結局文句言ってるだけだ。 というかこの話も同様に平行線なので、もうこれくらいでいいか? いずれにしても俺は8/1以降に『完全に従来通り』でスレ立てる。 それをどう捉えるかは君らが決めることだ。 [] [ここ壊れてます]
425 名前:デフォルトの名無しさん [2018/07/28(土) 23:23:17.95 ID:VyODD4HS.net] 争いとは無縁そうなはちみつ餃子さんに仕切ってもらえばいいんじゃないのか。
426 名前:デフォルトの名無しさん mailto:sage [2018/07/28(土) 23:28:59.65 ID:aLrZyGnX.net] 従来通りで良いなら、こんな大騒ぎしなくて良いだろう いつものようにスレを使い切りそうになってから立てる 住民も変わらない。内容も今まで通り これに不満な奴は、己の作りたい趣旨にそって 新しいスレを立てれば良いだけ
427 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 00:45:26.42 ID:j115Aqon.net] >>410 > こんな大騒ぎしなくて良いだろう お前がな。 俺は従来通りで立て直そうとしている。 必死に抵抗しているのは、例のテンプレを相当嫌っている奴か、 ワッチョイがあったら困る奴だろ。 従来通りでいい奴は、反対する理由がない。
428 名前:デフォルトの名無しさん [2018/07/29(日) 00:52:42.16 ID:Yg/enGwg.net] テンプレ登場人物で煽ったやつが俺なんだが、もしかして煽られた奴もここにいるのかい?
429 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 00:55:43.16 ID:uqiXbB1D.net] >>408 こっちはそんな条件じゃなんの検証にもならないと主張しているのに、フォークで証明すると繰り返すばかり。もはや反論になってない。 結局"おまもり"の有効性なんて証明できるわけがないから公平なふりして無理やり押し通そうとしている。 非論理的で話にならん。
430 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 01:02:15.71 ID:rd1wRLD1.net] この暑さでとうとう脳がやられたキチガイが出てきたなw
431 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 01:04:47.05 ID:fkvLqjPx.net] c++やってるやつは案の定融通の利かない頭きちきちの奴ら何だろうな テンプレがどうしたって言うんだか
432 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 01:06:57.02 ID:1hBCvnSx.net] >>411 ワッチョイ付きでいいよ。賛成する。 それが従来通りって意味であってる。 これでいい?
433 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 01:11:44.35 ID:fkvLqjPx.net] どの板でもスレの立て直しはたまにある でも、余程理不尽なことがない限り新しいスレに人は移動しない テンプレがないとかスレの番号が間違っているとかいう理由で人は移動しない 嵐が変なテンプレをつけたりおかしなスレタイに改変されてたら移動するぐらい
434 名前:デフォルトの名無しさん [2018/07/29(日) 01:41:26.98 ID:Yg/enGwg.net] ぶっちゃけどっちでもいいしどうでもいいんだけどね。
435 名前:はちみつ餃子 mailto:sage [2018/07/29(日) 03:10:55.83 ID:bQEgGaK2.net] >>409 争ったら駄目なんだよ。 交渉すべき。 だが、どうせこういう手合いは何を言っても聞きゃしねぇから無駄。
436 名前: mailto:sage [2018/07/29(日) 06:18:22.84 ID:bwtbjTxx.net] >>413 そうそう、キーワード「お守り」「非論理的」、いいですねえ
437 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 07:02:10.69 ID:8jVIjsgO.net] >>413 >>419 >>420 ではお前らなりに論理的に検証になる方法を提案し、実行しろ。 「出来ないから出来ない」というのは止めろ。 >>417 元々はワッチョイの話だったのに、 都合が悪くなったからといってテンプレのみの話にすり替えるのは止めろ。 >>416 従来通り=ワッチョイあり、例のテンプレは2に投下。 part136の1+3相当。
438 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 07:25:09.88 ID:eV2zeRLd.net] なんでも良いけどC++の話題やれよ。 戯言は無視でええ。
439 名前:デフォルトの名無しさん [2018/07/29(日) 11:44:38.77 ID:LQAkWqzt.net] クソニートを駆除するために はよバルサン焚けよ こいつら害虫だからな
440 名前:デフォルトの名無しさん [2018/07/29(日) 11:51:12.53 ID:LQAkWqzt.net] ちなみに知恵遅れどものテキトーな回答のどこがおかしいか オレはすべて回答してる
441 名前:デフォルトの名無しさん [2018/07/29(日) 12:37:46.37 ID:Yg/enGwg.net] プッシュ型スキャナ/パーサーはつなぎこみが楽だし、C++のテンプレートで使いやすい。 C++ Wayの一つとして研究されていいはず。
442 名前:デフォルトの名無しさん [2018/07/29(日) 13:09:38.19 ID:Yg/enGwg.net] Qiita落ちてる?
443 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 14:24:58.96 ID:OHU95624.net] そこらじゅうで暴れてるな 半角ニート 初心者のくせに強がっちゃって
444 名前:デフォルトの名無しさん [2018/07/29(日) 16:40:38.92 ID:Yg/enGwg.net] 雑談も桶になるといいよな。
445 名前: mailto:sage [2018/07/29(日) 17:23:58.49 ID:bwtbjTxx.net] >>353 >お前もいつの間にパヨクになったんだ? これは興味深い、>>350 のどこに、パヨク=馬鹿左翼、を感じたのか、ちょっと教えていただけませんでしょうか?
446 名前:デフォルトの名無しさん [2018/07/29(日) 20:05:51.80 ID:L9bR4BuX.net] C++掲示板も終わりか。 糞なくせに自己主張だけは一人前のお坊ちゃまばかり。 メスもいるだろうが... あんまり糞な事言ってると、後はわかってるだろうな
447 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 20:08:42.56 ID:1hBCvnSx.net] こういう人に限って何度も蘇ってくる
448 名前:デフォルトの名無しさん [2018/07/29(日) 20:13:22.07 ID:LQAkWqzt.net] クソはただのクソ袋 コイツラはただのウンコ製造機だからな レス見ればすぐに分かる
449 名前:デフォルトの名無しさん [2018/07/29(日) 20:15:29.45 ID:LQAkWqzt.net] クソニートどもがなんで こんなしょうもないスレの存続で必死なのか分かるだろ 居場所がココしかないから 現実逃避の場所がココだけだからな 簡単簡単
450 名前:デフォルトの名無しさん mailto:sage [2018/07/29(日) 21:17:20.23 ID:UevmDhbi.net] イカれを演じて暴言吐いてないと日常の不安に耐えきれないんだろうな…… なんかひどく可哀想な人だ……
451 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 00:40:10.37 ID:yV+7/MBa.net] デストラクタで 型Tのメンバ変数Aのデストラクタ(cout等記述)が呼びされるはずなのに 型Tのメンバ変数Aと同じアドレスを持ったデストラクタ(解放だけ行う)が呼びされるんだが こんなバグ何が原因かわからないんだ助けてください もちろん型Tのデストラクタは一種類しか宣言してないし virtualもつけてるんだが…
452 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 00:58:21.77 ID:CKgR1uCb.net] コードで示してくれ
453 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 06:36:20.73 ID:qFKbkkH1.net] Linuxでベースクラスで持たせてて元の型にキャストしてたりする?
454 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 08:41:35.39 ID:qnQc5JET.net] C++で今まで作ったものってなんですか? 自分はとにかく競プロしかしてないので、なにか作りたいんですけどC++という言語でしかできないことがあまり思いつかなくて
455 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 08:51:39.47 ID:yNVCdeG4.net] >>438 言語処理系はCで書くより楽だよ
456 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 08:56:56.06 ID:qnQc5JET.net] >>439 ありがとうございます! 系統で答えてもらって助かります
457 名前:はちみつ餃子 mailto:sage [2018/07/30(月) 14:21:10.33 ID:pFBrx3WW.net] >>438 「できること」という意味では C と大差ないわ。 でも、プログラムの部品 (ライブラリ) に高度な抽象化を被せることが出来る。 要するに高レイヤでは楽できる可能性が高い。 レイヤを分ける必要もないような小さなプログラムでは ありがたみを感じにくいかもね。
458 名前:デフォルトの名無しさん mailto:sage [2018/07/30(月) 19:42:11.85 ID:qnQc5JET.net] >>441 ありがとうございます 確かにC++はそういう要素大きいですよね! そこがいい部分で好きなんですけど、やっぱり難しい部分ですよね
459 名前:デフォルトの名無しさん [2018/07/30(月) 21:47:15.09 ID:hbo0m8kQ.net] 上のほうで、唇がメンタイコの欲深そうなのがいるな。 2chに引っ込んでいろや。屑が
460 名前:デフォルトの名無しさん [2018/07/31(火) 20:27:14.08 ID:jvSfH+BG.net] たらこじゃなくてか。
461 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 21:48:26.82 ID:f0EnkAzQ.net] 明太子はたらこのこと 唐辛子を塗したやつは辛子明太子
462 名前:デフォルトの名無しさん [2018/07/31(火) 22:24:08.58 ID:jvSfH+BG.net] そっかw 素で辛子明太子と間違えたわ。
463 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 00:24:00.80 ID:VquDbSfz.net] アルゴリズム辞典みたいなものを手元に置いときたいんだが、最も支持されてるのってどれ? ・網羅性が高い ・支持されている(売れている) ・日本語版がある ・コード例はあってもなくても良くて、あるとしたら C/C++ か擬似コードで という条件で テーマ別に「どれとどれとどれを持っとけばまず問題ない」という言い方でもありがたい とにかく網羅性を重視してる
464 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 00:35:56.57 ID:/iJJIMGp.net] 会社でC++書くことになったんですがコードが(ダブル)ポインタの嵐で読みにくいことこの上なくて辛いです 他にもstring使わずにchar配列だったり、vector使わずに配列だったり Cのスタイルで書ける部分はできるだけCのスタイルで書くほうがやはり好まれるものなのでしょうか 前に個人でちょろっと書いたときはもうポインタ使わなくて済むならできるだけ使わないように!なんて思いながら書いてたんですが
465 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 00:42:34.65 ID:hfBYO5dB.net] 色々な事情があるのかも Cからの移植とか 小規模だとヒープはトラブルの元なので極力使わないとか そもそもヒープが無いとか
466 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 00:56:47.14 ID:8dN6QsuX.net] >>448 ポインタ使わなくてもイテレータの嵐を渡り歩いたり スマートポインタが何をしているのかを理解するには ポインタを使う場合のノウハウ知識が必須だよ stringやvectorを避けている箇所にはそれなりの理由があるから 極力思い込みを排除して状況をよく見たほうがいい
467 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 01:01:22.52 ID:uLizLGZM.net] >>447 合計\7,000-- 珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造 | ジョン・ベントリー, 小林 健一郎 |本 | 通販 | Amazon ttps://www.amazon.co.jp/dp/4621066072 O'Reilly Japan - アルゴリズムクイックリファレンス 第2版 ttps://www.oreilly.co.jp/books/9784873117850/ C言語による最新アルゴリズム事典の詳細情報 : Vector ソフトを探す! ttps://www.vector.co.jp/soft/data/prog/se002453.html
468 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 02:12:56.94 ID:VquDbSfz.net] >>451 ありがとうございます。 最初のも辞典的なものなんでしょうか。 複数冊持つならばテーマ毎が良いかなとも思いましたが、特定のテーマに集中したものだと翻訳されているものが少ないのかもしれませんね。 2つ目と3つ目が部分的に補完しあっていることを期待して、両者とも購入しようかと思います。
469 名前:デフォルトの名無しさん [2018/08/01(水) 02:19:31.07 ID:Bdxs44t0.net] the art of computer programming numerical recipes コレしかないわ
470 名前:はちみつ餃子 mailto:sage [2018/08/01(水) 02:25:19.38 ID:oNWxQcbM.net] >>451 「C言語による最新アルゴリズム事典」はこないだ改定されて「C言語による標準アルゴリズム事典」という表題で売ってるぞ。 amzn.asia/cgZYRrQ ロングセラーになりすぎたせいで「いつまで最新やねん」というのは常々
471 名前:言われづづけてたからなぁ。 [] [ここ壊れてます]
472 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 02:49:17.77 ID:GZaAdjmn.net] >>448-450 多分そいつは、Scott Meyers を知らないし、 ほとんどの言語に「Effective 何々」があることも知らないのだろうw そいつに、Scott Meyers を知っていますかって聞けば? プロで、江添亮とかScott Meyers を知らん奴は、いない
473 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 06:52:26.90 ID:l9oYGZY2.net] 会社に対してそいつ?
474 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 07:00:43.17 ID:0Pfosj1X.net] stringやvectorはヒープなので、呼び出し回数の多い関数で毎回インスタンスを作る場合は処理時間に注意したいところ。
475 名前:はちみつ餃子 mailto:sage [2018/08/01(水) 07:02:13.71 ID:oNWxQcbM.net] まあ状況によるわなー。 後から伸長 (または縮小) が必要ないような固定長のデータを std::vector に入れるのは豪華すぎるので、 避けれるなら避けたいということは有りうる。 それでも今どきなら std::array を使って欲しいけど、 古いプログラムをツギハギしながら使ってるような場合にはなかなかそうもいかない事情があるのかもしれん。 単純には判断できないので、わかんないことはそれを書いてるやつに聞けとしか言いようがないんじゃない?
476 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 07:40:49.09 ID:OccwPm6d.net] stl使うと同バージョンのライブラリを実行環境にインストールするという考慮も増える
477 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 07:53:02.77 ID:hfBYO5dB.net] えっ? 何か勘違いしてないか?
478 名前:デフォルトの名無しさん [2018/08/01(水) 18:55:57.40 ID:4hR5DucF.net] やっぱり通になると、明太子ひとつ、辛子抜きで・・・とか注文するんだろな。
479 名前: mailto:sage [2018/08/01(水) 19:05:43.34 ID:6NCuGzpD.net] >>447 https://www.amazon.co.jp/dp/4774196908 今年になって改訂版が出たらしい、だれかレビュー頼みます
480 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 19:11:49.62 ID:a1G0tkY3.net] >>462 第2刷買ったっけな。役に立ったと思う。
481 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 19:41:42.72 ID:7TmTR3QV.net] >>462 板を荒らすのやめろよ
482 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 20:37:51.59 ID:/iJJIMGp.net] ポインタの件ですが参考になりました。まぁこっちはほぼ初心者で相手はベテランの上司なので何も言えない聞けないってとこですね stackoverflowとか読んで生ポインタあんま使うなスマポ使えオブジェクト使えるときは使えみたいなこと書いてあるの見るとこれでいいのかなって思いますねええ
483 名前:はちみつ餃子 mailto:sage [2018/08/01(水) 23:13:55.56 ID:oNWxQcbM.net] std::unique_ptr は実行時の速度ペナルティもほとんどないので、避ける理由はあんまりないよな。 例外がとんだ時のロールバックについても面倒なことを考えなくて良いし。
484 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 23:34:41.68 ID:GZaAdjmn.net] たぶん、Scott Meyers とか「Effective 何々」とか、知らんのだろ たぶん正常に動作する、過去の資産を持っていて、それをコピーして使う作り方なのかも 現場でよくあるのは、サンプル欲しいと言うと、過去のソースコードを持ってきて、 これは動くから、そのままコピーして使って下さいと言われる 新しい事をしようと思うと、環境構築やらで、動かない部分が出てくるので、非常に面倒 それに過去のソースコードは、あちこちで使われているから、バグが少ないという実績があるけど、 新しく作ったものは、バグ出しが大変。 安定するまで、かなりの期間が必要 <
485 名前:br> よほどの理由がない限り、新しく作らない [] [ここ壊れてます]
486 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 03:53:49.14 ID:iSPNCiYK.net] >>451 どれか一つで良くね ほとんど被ってるっしょ あえて選ぶならアルゴリズムクイックリファレンス 網羅性ってヤツを追及するなら、同じようなもんいくつも買うんじゃなくて自分で言ってるようにテーマに特化したものを買うしかない 名前忘れたけど文字列アルゴリズムのアレとか
487 名前:はちみつ餃子 mailto:sage [2018/08/02(木) 06:10:43.23 ID:ksgx4qMg.net] >>447 Knuth の 「The Art of Computer Programming」もその条件に当てはまると思う。
488 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 07:12:52.80 ID:NSwKZwuS.net] 圧縮アルゴリズムなんか、本で憶えたんじゃなく FAXだとかモデムみたいな具体的なブツで憶えたな その他のアルゴリズムも単行本より雑誌で 憶えたのが多いし
489 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 10:20:23.60 ID:KhTk1OQU.net] そのあたりのアルゴリズムはCマガで覚えた
490 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 10:41:45.24 ID:zFALVR92.net] >>468 これ? 高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) | 岡野原 大輔 |本 | 通販 | Amazon ttps://www.amazon.co.jp/dp/4000069748 「高速文字列解析の世界」サポートページ - daisuke.okanohara ttps://sites.google.com/site/daisukeokanohara/iwanami_string_world
491 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 11:27:51.52 ID:KhTk1OQU.net] そのジャンルは大体の場合は条件固定じゃないからツール類を使ったほうがいい
492 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 17:47:42.68 ID:QC+SfWnq.net] >>447 ,451,468 蟻本の参考文献揃えるのがおすすめ
493 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 17:50:02.28 ID:QC+SfWnq.net] って思って確認したらそんな良くなかったスマン
494 名前: mailto:sage [2018/08/02(木) 19:12:17.99 ID:hFhSdR7O.net] >>470 文書圧縮について手元に置いていつも参照しているのは https://www.amazon.co.jp/dp/478983672X/ 今は、jpg の本が欲しいと思っていますが、なにかいいのはありますか?
495 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 19:38:11.37 ID:nAUx6Lke.net] C++極めたいんだけど、どうすれば極められる? 仕事はJavaScriptが主です 今はアルゴリズムの本読んでるのですが、個人的にはC++ドラフトの間違いを指摘できるレベルになりたいです
496 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 19:48:55.00 ID:1EegAYN5.net] そんな事を人に聞いてる様じゃ一生無理
497 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 19:57:10.95 ID:Ro0F3mb9.net] >>477 oracle Solaris Studio の開発者になるとか ホワイトスミスに弟子入りするとか じゃね?
498 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 20:52:27.89 ID:jf+aoeV/.net] >>478 いや実際C++使ってる職場少ないし、どうやってレベルを上げればいいのか分からん オープンソースを読むくらいしか思いつかない >>479 ジョークはいい
499 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 21:22:49.70 ID:EkY0QbOC.net] コンパイラ読めないと話にならんのじゃないか?
500 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 21:53:24.64 ID:0KRWeg2T.net] >>480 職場に何を頼るの?
501 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 22:18:49.50 ID:NSwKZwuS.net] >>476 jpegが赤に弱いなんてのも ギョーカイの人とのおつきあいで ホーソレデ氏になった
502 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 22:24:42.73 ID:Ar8oKNDv.net] >>480 読んでばかりじゃなくて自発的に自分で実際に書いてみないことには、いつまでたってもたいして身に付かないだろう。 極めたいなら、言語仕様の一つ一つを実際に使ってみて具体的に役立つケースや制限、制約、限界を体感して、メリットデメリットを洗い出すくらいのつもりで試してみたら?
503 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 23:26:26.75 ID:jf+aoeV/.net] >>482 嫌‥ >>484 の言うとおり実践的な立場かな >>484 それはもちろん分かる
504 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 02:17:39.89 ID:gpdbLiuq.net] >>485 まずは仕事で使う自作ツールをC++で書くとか 千里の道も一歩から
505 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 02:23:34.66 ID:Ja3muTb1.net] 自作ツールはまず、スクリプト言語でやってみて、速度面などで不満があった時だけC・C++に置き換えるのがいいと思うけどどうなの。 スクリプト言語とコンパイル言語の使い分けを覚える良い機会になる。
506 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 02:28:52.17 ID:gpdbLiuq.net] >>487 目的が自作ツールを作ることならそれで間違ってないが C++を極めることが目的みたいよ
507 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 07:41:26.05 ID:jYMqs03L.net] 極めると言うても、次の規格が出たらもう過去の知識だし、 いくら頑張っても到達できないゴールのような気がするなぁ。 規格を作る側に入り込めるなら話は違うかも知れんが。 C++は、自分より後ろにいる人をバカにするのが好きな人も多い感じだけど、 「そんな奴にはならん方がええ」
508 名前:はちみつ餃子 mailto:sage [2018/08/03(金) 08:11:10.53 ID:KKWcqInB.net] ある程度の言語機能しか使わない範囲でも使い物になるように C++ は設計されてる。 ある程度を学めばその範囲内でも実務に使える。 もちろん深い理解があればプログラムをよりよく構成できるので、 実務に使いながら平行して段階的に学ぶということが出来る。 このことは設計者が著した D&E に書かれてる基礎理念のひとつだ。 地に足の着いた、現実的なものとして設計されてるんだよ。 だから、言語としての C++ だけに偏って学ぶのはお勧めできない。 言語として不格好な部分も現実の中では相応の合理性があったりして、 それを学習するのに適しているのは現実のプログラミングだと思う。 ただ、余談だけど、段階的に学べるようにというのはスタート地点として C を想定しているように思う。 C が当然の基礎知識としてあった時代には そこからシームレスに C++ を学んでいけるように設計するのは妥当な選択だったかもしれないが、 今の時代には C++ の中の C の部分は色々と足を引っ張ってもいるので 歴史が長いと泥臭い部分も積み重なっていくものだなぁと思いました。 (小並感)
509 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:14:53.94 ID:lq/KEYA1.net] 20年近く使ってるけど、ドラフトとか目にしても 「こんな機能来るんや!」ってwktkするだけだな 規格を知ってれば極めてる、みたいな風潮が最近あるけど間違いやで 言語はあくまで道具だから使ってなんぼ
510 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:29:03.00 ID:cfhQf2V5.net] みんな深いレスありがとう ただ自分はどうしても諦めきれないので、仕事以外の時間は、C++に関するサイトや書籍やコーディングに費やすことになると思う Pythonは学ぼうとは思ってるけどね
511 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:49:41.39 ID:TY6Sib0f.net] ttps://github.com/python/cpython/tree/master/Python 今ならpythonのソースコードもオマケで学べるよ
512 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 12:16:04.74 ID:cfhQf2V5.net] >>493 ありがとう こういうのはいいですね
513 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 15:41:42.81 ID:Ja3muTb1.net] スクリプト言語には、ハッシュテーブルやディクショナリなどと呼ばれるキーと値の組を保存するコンテナ機能が存在する。 一般に高速とされるC++だが、実は、ハッシュテーブルだけはスクリプト言語の方がアクセス速度が速かった。 ただし、C++におけるstd::mapだけがハッシュテーブルに該当した頃の話。 今は、std::unordered_mapがあるのでスクリプト言語と同等以上の速度でハッシュテーブルにアクセス可能になっている。
514 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 18:32:37.47 ID:j4paKoWq.net] mapはハッシュテーブルに該当しないだろ。 そういうときは辞書とかマップとか連想配列とかと呼ぶべきだ。
515 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 18:52:42.14 ID:9KGEdKKU.net] mapは連想コンテナだが
516 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 19:03:27.95 ID:j4paKoWq.net] ハッシュテーブルじゃない
517 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:13:28.65 ID:B+FOIxCl.net] クラス設計で悩んでいるんだが、みんなの意見を聞きたい やりたいのは、いわゆるデザインパターン template methodを使ったクラス設計 class Parent { public: void execute() { method1(); method2(); method3(); } private: virtual void method1(); virtual void method2(); virtual void method3(); } 子クラスのChild1, Child2でmethod1(), method2(), method3()をそれぞれオーバーライドして処理を分けている ここで、Child3を追加しようと思うんだけど、method1()の内容はChild2::method1()と全く同じになる これをどう実装しようかいろいろ悩んだんだが、どれもピンとこない。 そもそも最初の設計がおかしーんじゃねーの?とかこうしたらよくない?とかここおかしくね?とか意見あったら頼む 一応以下は自分が考えていること @Child2, Child3の親クラスを抽出して、そっちに共通処理として書く →実装のために継承関係を作るのはあまりよくない気がする A別クラス(Utilクラス?)を作ってそっちにまとめる →メンバ変数とか使ってると少し面倒かな。本質的でない気もする。 BChild3::method1()->Child2::method1()とコンポジション的にする せっかく横のつながりができないようにしてるのに、ここでできるのはよくない C親クラスに共通メソッドを作って、Child2::method1()とChild3::method1()はそれを呼ぶ →しっくりこないけど、妥協点かな・・・ DしゃーないChild2::method1()コピペで! →これはまあ論外かな、時間が全くないときの最終手段
518 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:20:08.01 ID:cWBuX5k9.net] Child3をChild2の子にすれば?
519 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:22:51.86 ID:Ja3muTb1.net] 共通処理を継承関係と無縁なtemplate関数にできないか検討してみては?
520 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:26:40.59 ID:Xb0+UQnK.net] >>500 それは多分なんらか整列の問題でやりたくないんだと推測 俺なら4かな・・・
521 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:28:34.49 ID:Xb0+UQnK.net] 4の改良?として 実装ファイルの無名スコープにvoid method1(const Parent& p)かな
522 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 23:36:56.13 ID:xr+Hum6X.net] 派生させるんじゃなくてメソッドの処理を別クラスにして移譲させるんじゃないの?
523 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 00:12:06.53 ID:AH7fLvgn.net] >>499 > 実装のために継承関係を作るのはあまりよくない気がする と言いつつ > 親クラスに共通メソッドを作って、Child2::method1()とChild3::method1()はそれを呼ぶ とか意味わからん 全然関係ないのにたまたま一緒になったと言うなら > しゃーないChild2::method1()コピペで! しかないと思うが
524 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 00:38:11.84 ID:hQAAmMi0.net] コーディング規約で、引数や戻り
525 名前:値に参照型は使うな。わかりにくくなるから。ポインタで渡してポインタで返せ ってことになってるんですけどこれ一般的な考え方なんですかね。生ポインタ使いまくりの方がよっぽどわかりにくいと思うんですけど [] [ここ壊れてます]
526 名前:デフォルトの名無しさん [2018/08/04(土) 00:53:09.47 ID:CpwGeL+S.net] そんなことよりメソッドでクラスのインスタンスが変更されない場合 そのメソッドにちゃんとconstつけろよ 引数でクラス使う場合も、そのクラスのインスタンスが変更されない場合 その引数にちゃんとconstつけろよ わかった?
527 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 00:58:03.49 ID:0clFfLhT.net] >>506 言ってることがわからなくはないが一般的ではないと思う むしろ参照のほうが一般的な気がするな
528 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 01:05:30.18 ID:Xh+3QD0k.net] 引数については、読み書きする引数は注意をひくためにポインタ渡しにして、読み取りだけの引数は参照渡しにするといいのでは。 戻り値については、失敗したことを意味するNULLを使えるのでポインタのほうがうれしいかも。
529 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 01:06:58.94 ID:QByQ49xB.net] >>499 execute が virtual でないってことは Parentを基底にしてコレクションしなくてもいいってことでOK? >>501 の言うように template で mixin 的に書いたら こんな感じになったー https://ideone.com/CcRHnO ChildがKlassになって兄弟関係がなくなってる
530 名前:デフォルトの名無しさん [2018/08/04(土) 01:12:24.24 ID:CpwGeL+S.net] 戻り値なんか全部intでいい 0未満ならすべて一貫してすべてエラー 失敗がありえないブーリアンだけはかろうじてあり 引数をポインタで渡せないとNULLを渡して処理したい場合の処理ができない そういうとき困るから全部ポインタで
531 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 05:12:55.60 ID:iUNKVgUH.net] 素人ばっかりかw 「More Effective C++」の項目1 だろ Effectiveも読んでいない奴が、プログラミングやってるのが不思議。 どの言語でも、Effectiveは、入門書の次に読む本やぞ 参照は、確実にNULL じゃない場合。 また、参照に再代入はしない事
532 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 05:25:27.41 ID:YA1hWK5Y.net] HRESULTも知らないヒヨッ子がいきってるな
533 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 06:40:25.30 ID:O/qEXyQX.net] 参照に再代入ってどうやんの
534 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 07:29:12.24 ID:o+LfwS0J.net] cからのコードが多い場合は統一のために参照渡しにしないってのはあるかな。
535 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 07:33:54.06 ID:YA1hWK5Y.net] extern "C"に参照渡しなんかするかよ
536 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 07:42:44.96 ID:Xh+3QD0k.net] たかが参照にストレスを感じるようになったら、C/C++プログラマをやめた方がいい。引退時。
537 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 08:00:44.90 ID:mQQzn2Q+.net] >>506 C++を知らない老害が自分の為に決めた規約 積極的に逆らおう
538 名前:デフォルトの名無しさん [2018/08/04(土) 08:29:49.29 ID:Xh+3QD0k.net] 私見を言わせてもらうと、多様性を受け入れ状況に合わせて柔軟に合わせていくのもプログラマあるいは技術者の重要なスキルなので、 一神教的な偏狭な人は若年性認知症とまで言ってのける気はないがかなり情報処理能力が低くなっているはずなので、プログラミングをやめた方がいい。
539 名前:デフォルトの名無しさん [2018/08/04(土) 09:34:28.56 ID:0uMuTyGR.net] プログラミングがどうこういうより国語を勉強しろ。
540 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 09:35:16.17 ID:o+LfwS0J.net] 柔軟なのと規約を決めないのはまた別だけどね。 多様性といって新しい言語使って同じ過ちを繰り返している人を何人も見てると 色々バカバカしくなるってところはある。 老害と同じくらい歴史を見ない若造も有害という現実を見るのも良い。
541 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 09:50:53.54 ID:2dadGiC9.net] まあ少なくとも>>506 が老害であるのは確か 実務経験が少ない若者が多いのも当たり前
542 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 09:53:11.49 ID:F7vd0ILk.net] 老害なんて言っている奴、10年後に自分がそう呼ばれるって事気がついてないのかな・・・
543 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 09:55:58.68 ID:2dadGiC9.net] 老人全てが老害になるわけではない 害があるから老害と呼ばれる
544 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 09:59:13.29 ID:2dadGiC9.net] >>521 歴史? 過去発生した問題点や注意点を伝えるのは上司や先輩の役目 言語自体の歴史、CPU自体の歴史なんか 興味があるヤツだけ勉強すれば良い
545 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:02:32.30 ID:F7vd0ILk.net] 数人のグループで開発しているなら、あえてコーディング規約を設けずしても出来るだろうが 100人、1000人規模で開発しているなら、工業製品としての品
546 名前:質管理として必要になるでしょう [] [ここ壊れてます]
547 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:03:35.96 ID:pDxZw3/e.net] >>525 ぼくがしらないのはまわりがおしえないから さすがゆとり
548 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:08:29.90 ID:2dadGiC9.net] ん? おれは伝える側の人間だが
549 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:11:50.81 ID:2dadGiC9.net] 100人規模1000人規模のソフト開発で 若者に言語の決定権があるってのは すごい会社だね
550 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:20:39.15 ID:+vznLLf6.net] おかしくはない 好きにやれ動くブツだけもってこい
551 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:27:14.97 ID:UzBGgsy3.net] いや別に好きにすればいいとは思うのだが 勝手に自分で選んだ言語固有の問題にぶち当たって 人に泣きつくなっつー馬鹿みたいな話があまりに多いんで。 >>525 まともに聞いてくれれば問題ない。
552 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:54:42.16 ID:VXqPvtUW.net] 出来たばかりの最新規格の機能ならともかく C++98以前からずーっとある言語の基本機能を大した理由もなく縛ってるのは阿呆でしょ (「大した理由」があるなら縛ってもいいのよ、本当に大した理由ならな)
553 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 11:09:59.74 ID:9+U//wQd.net] >>460 横だがDLLにstd::stringとかSTLのオブジェクトを渡したり返したりする設計ェ、、、 std::string程度なら現実には動くが、STLの内部動作のバージョン間の整合を誰も保証してくれない以上、 そういう設計をされるともはや誰も動作を保証できなくなる STLに限らずOpenCVやCRT絡みのオブジェクトでもそう、 というわけでこういうライブラリのバージョンの統一を担保できない状況ではchar[]の登場と相成りぬ、
554 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 11:20:42.46 ID:Xh+3QD0k.net] char[]を使う関数をDLLにして、その関数をstd::string版関数オーバーロード的なラッパーをヘッダーに記述するでしょ、普通。 というか、std::string専用である必要はなく、template関数にしとけばSTLportだろうかstdだろうかEASTLだろうが対応可能になる。
555 名前:はちみつ餃子 mailto:sage [2018/08/04(土) 11:23:58.97 ID:SzDDeCK/.net] バイナリでの保証を考えると STL を使いにくいってのは確かにあるよな。 COM のような形式を使えばオブジェクト指向をバイナリレベルで管理することも出来るが、 それはそれで別の規約に縛られてしまうわけで。 どんな規約にするにせよ不満は有るよ。 一貫した規約が無い不満よりは規約に不満を持つ方がマシな世界になりがちなのが現実。
556 名前:デフォルトの名無しさん [2018/08/04(土) 11:33:14.55 ID:CpwGeL+S.net] そんなもん文字列のポインタ渡せばしまい 頭悪いのって悩む必要がないどーでもいい事で悩むからな それぞれの完結したモジュールでどのバージョンのSTL使おうが関係ないからな string ahoをaho.c_str()で渡すだけ
557 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 11:50:08.73 ID:9+U//wQd.net] >>534 ワカル それは全く普通の設計でおすなあ、
558 名前:デフォルトの名無しさん [2018/08/04(土) 11:54:01.62 ID:CpwGeL+S.net] 頭悪いシロウトほど可変長の文字列クラスをいちいち使いたがるからな
559 名前:デフォルトの名無しさん [2018/08/04(土) 11:57:27.88 ID:CpwGeL+S.net] もしかしてvectorとかもいちいち自分で全部ラップしってんの とにかく頭が悪すぎるわ
560 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 11:59:57.25 ID:9+U//wQd.net] ここで問題なのは可変長の文字列クラスを使いたがる類の素人なのではなくて、 DLLのcallerとcalleeでSTLやCRTのバージョン相違しているケースを想像できない類の素人なのでは…
561 名前:デフォルトの名無しさん [2018/08/04(土) 12:07:08.58 ID:CpwGeL+S.net] このスレにいるような知恵遅れがどんな作り方しても ぜんぜん問題にならない STL ver baka void bakabaka(char const* aho_) { std::string baka("shine"); ahoaho1(baka.cstr()); } STL ver aho つかったdll void ahoaho1(char const* aho_) { } なにが問題になるわけ? もうね知恵遅れのいうことは意味が分からないわけ
562 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 12:08:24.92 ID:73YctOjT.net] >>484 極めて同意 仕事だと、過去のしがらみや、コーディングルール等に縛られて、思い通りにできない。 自分で地道に実験してゆくしかない
563 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 12:16:41.91 ID:9+U//wQd.net] いやほんと 呼び出し元と同じ完結したモジュール内で定義された関数にはconst std::string& ahoやconst std::vector &vecで渡し、 DLLで定義された関数にはaho.c_str()や&(vec[0])で渡す、と区別すればwrapperは要りませんなあ、 いやはや>>541 は便利なやり方をいろいろご存知ですなあ、、
564 名前: mailto:sage [2018/08/04(土) 12:54:24.58 ID:Rdsot1y5.net] >>519 「〜なので、〜なので、○○だ」 読んでとまどいを覚える日本語文ですね
565 名前: mailto:sage [2018/08/04(土) 12:56:26.35 ID:Rdsot1y5.net] >>532 K&R2 の世界の人にとっては、十分に未知な領域なのでしょう… 私は K&R2 自体がすでに「堕落したもの」と考えております
566 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 13:59:14.93 ID:f+sj1d72.net] >>506 某エディタにこの宗教にご執心の開発者がいるな
567 名前:デフォルトの名無しさん [2018/08/04(土) 18:05:43.06 ID:Xh+3QD0k.net] ポリモーフィズム(多態性)を可読性を下げる欠点ではなく、可読性を上げる長所と考えるのがC++プログラマとしての信仰の基本なので、 様々な記述方法を許す多態性を嫌うのなら、C++を棄教せねばならないでしょう。 演算子オーバーロードを耐えられる情報処理能力があるなら、参照渡しにも耐えられるはずで、参照渡しだけ目の敵にするのはただの原理主義ですね。
568 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 18:58:53.47 ID:YA1hWK5Y.net] 原理主義なんて高尚なもんじゃなくただのバカ
569 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 20:01:37.83 ID:5qDWXahz.net] >>547 なのでなのでは?
570 名前:はちみつ餃子 mailto:sage [2018/08/05(日) 00:20:51.12 ID:Sl8YWqHi.net] >>547 言葉のニュアンス的には原理主義というより教条主義と言った方がこの場合は近いかも
571 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 05:07:56.69 ID:xG+zmDln.net] だれかたすけてください。 https://dotup.org/uploda/dotup.org1602882.zip こういうプロジェクトを作ったんですよ。 一応、ゲームっぽいものですが本質はそこじゃなくて。 えーっと、前方参照の解決がよくわからないので直し方教えてください。 普段小さなコードしか扱ってないのでソース分割あまりしないのでわけがわかりません。 コンパイルが通るにはどうしたらよいでしょうか。 お願いします。
572 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 08:56:46.93 ID:WhsUmrtL.net] ツッコミどころはいっぱいあるけど とりあえずGameIssue.hの中でRougeStageの定義が見えてないからincludeしろ
573 名前: mailto:sage [2018/08/05(日) 17:21:41.90 ID:JAQP+wl+.net] >>506 www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html 「変数を参照しているのか逆参照しているのかがいつもわからなくなる、だから必ずポインタを使う。アスタリスクが思い出させてくれるから」 C++ の参照は、呼び出し元の記述では参照として渡しているつもりなのか、実体を渡しているのかは区別できず、 呼び出し先の宣言で、はじめて参照か実体かがわかるんですね 個人的には C# のように、呼び出し側でも参照渡しを明示するのがスマートだと思います そのコーディング規約は良心的だと思います
574 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 17:44:24.77 ID:kXrZdLCy.net] >>553 参照渡しを明示、とは具体的にどんな方法でしょう?
575 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 17:48:52.51 ID:3KDX12Zf.net] ref とかoutとかじゃね?
576 名前: mailto:sage [2018/08/05(日) 17:55:52.90 ID:JAQP+wl+.net] >>554 https://ideone.com/FMEesh 呼び出し側にもキーワード "ref" を記述します
577 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:07:51.68 ID:lZNE8En/.net] ゲーム的にはコレか? Rog-O-Matic - Wikipedia https://en.wikipedia.org/wiki/Rog-O-Matic
578 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:26:33.87 ID:kXrZdLCy.net] >>556 C#ではなくC++での方法を聞きたかったのですが (^_^;)
579 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:32:14.36 ID:yKLkGD1M.net] >>506 constなしで参照渡しするなっていうコーディング規約ならgoogleも採用してるよ
580 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:34:25.86 ID:QdoPuPH9.net] 立てました。移動はご自由に。 C++相談室 part138 https://mevius.5ch.net/test/read.cgi/tech/1533459756/
581 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:35:44.95 ID:C8NdcnMU.net] >>558 お前はC++とかより日本語の勉強しなよ…
582 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 18:56:17.20 ID:K/INtz2h.net] 単純にc++だけで閉じてれば参照で統一ってのもありだろうけれど c++ってそういう言語じゃないんだよね。 大抵大規模なコードは過去のcソースとごっちゃになってる。
583 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 19:04:35.58 ID:lZNE8En/.net] >>551 まずは非常にどうでもいいことだが、AddBug(SharedItem I) こういうモノがあると非常に縁起が悪い 他、小姑みたいなスペルミスの指摘は以下 Sheld盾の綴りはshield (Fieldと同じ原理) Acsessとaccess、 CollectoerとCollector TyleとTile InfmationとMakeTemporaryInfomationとinformation Initilaize、Initialize PraramA、parameterA RougeStage.hとRogue
584 名前:デフォルトの名無しさん [2018/08/05(日) 22:24:16.29 ID:yKLkGD1M.net] いい加減な方法でビルドはできるようにしたのに遊べないよ! なんとかしろ、作者 GameIssue.h 12行目付近の class TemporaryInfmation; をいかに書き換える。 //class TemporaryInfmation; template <typename RougeStage> class TemporaryInfmationTmpl; using TemporaryInfmation = TemporaryInfmationTmpl<RougeStage>; RougeStage.hの3行目付近の class RougeStage; ~ TemporaryInfmationTmpl(RougeStage* RS) { をいかに書き換える。 template <typename RougeStage> class TemporaryInfmationTmpl { public: TemporaryInfmationTmpl(RougeStage* RS) { StatusCollector.hのStatusクラスの SetDirection()が2個定義されているのでどちらかを消す。
585 名前:551 mailto:sage [2018/08/05(日) 23:51:00.40 ID:xG+zmDln.net] こんにちは。色々ご指摘ありがとうございます。 これまだ、脳内コーディングでシステム組んだだけでコンパイルが通って無いように、デバッグさえしてません。 なんとなーく、ローグのAI書いたら面白いんじゃないかと思って書き始めたのですが、沼にハマってしまいました。 とりあえず、前方参照の件は解決したみたいです。 その後大量のエラーと格闘していますが、支離滅裂なエラー(?)が大量に出てい
586 名前:て吐きそうです。 とりあえず、この件については閉めます。 ありがとうございました。 [] [ここ壊れてます]
587 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 00:29:53.59 ID:b7eNDjo0.net] >>553-556 /* ref */ 引数内で、コメントを使えば?
588 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 04:28:30.45 ID:EZAi1/yQ.net] >>559 templateの右辺値参照もダメとか さすがに修正が必要だな
589 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 11:34:49.72 ID:aJPEpevk.net] >>567 別の項にmoveコンストラクタ、move代入演算子、perfect forwardingするときは右辺値参照使ってええよって書いてあるから、右辺値参照は対象外なんだと思う。 >>565 できたら遊ばせてねー
590 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 12:01:58.56 ID:aJPEpevk.net] aiでautoってことは遊ぶんじゃなくて遊ばれちゃうのか…
591 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 13:00:05.48 ID:6LLA+7Q/.net] Googleコーディング規約は古臭くてオワコンだからみんなはISOで作ってる規約を使おうね! って禿先生が講演で言ってた
592 名前:551 mailto:sage [2018/08/06(月) 18:02:56.58 ID:L/6qyfUO.net] >>596 ステージ生成してAIに解いてもらおうと。 そのAI書かないといけないんですけどね。
593 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 18:04:44.92 ID:L/6qyfUO.net] しかし、ロジカルなことしたいのに、それ以外のエラーで死にかけるのは困ったなぁ。。。
594 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 18:26:13.93 ID:0lSQ8xAg.net] >>572 アルゴリズムの間違いの発見や修正に比べたら、コンパイルエラーの解消なんてコンパイラさんが親切に教えてくれてるんだから、簡単なことだよ。 ロジカルなことしたいなら、コードの記述もロジカルに頑張れ
595 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 19:18:24.62 ID:L/6qyfUO.net] はい。がんばります。
596 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 19:34:04.04 ID:ykSda89u.net] >>570 今現在コード書いてないオワコン禿げのいう事のが信用ねーわ。 江添とかも同類。 コードをまともに書いてないやつが言語仕様決めてるってのがc++のクソなところ。
597 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 19:45:02.37 ID:Xt7Beabr.net] >>575 コードがマトモに書ける人は書く方が忙しいので仕様どころではないって割とありそう
598 名前: mailto:sage [2018/08/06(月) 22:20:17.51 ID:zDoA3miN.net] ryzen threadripper 2950X 16C32T 3.5GHz〜4.4GHz !! なんだか最近急にすごくなっていませんか?
599 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:09:33.16 ID:L/6qyfUO.net] 今までのAMDが怠けてただけだよ!
600 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:12:22.15 ID:zQ2KZFwb.net] floatのゼロ割りって、infになるものの、別にそれ自体が問題ではなくて、 それがクラッシュに繋がるような演算を行うことが問題であって、 例えば条件分岐で一定の大きさ以下の場合のみ参照するようにしているなら問題ないですよね?
601 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:30:48.85 ID:Xt7Beabr.net] ゼロで割り算したい意図は?
602 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:38:20.39 ID:wPUCa9qR.net] >>579 うん >>580 ゼロで割りたいなんて一言も書いてない
603 名前:579 mailto:sage [2018/08/06(月) 23:40:51.75 ID:zQ2KZFwb.net] >>580 物体の速度なのでゼロのときがあるんです。 例えば、ある距離に到達する時間を求めるとなると、その距離を速度で割るのでゼロ割りがあり得ます。
604 名前:579 mailto:sage [2018/08/06(月) 23:43:04.07 ID:zQ2KZFwb.net] >>581 ありがとうございます。 ゼロで割ること自体を回避するのって、けっこう厄介なんですよね・・・。 ある程度小さい場合は演算しないとか、どれくらい小さかったらいいの?みたいなことを考えないといけないので・・・。 無限大のときにどうする?という考え方の方が対処し易いように思います。
605 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 06:50:16.11 ID:PssQ1NSH.net] 今Python + Opencvで画像処理をしているのですが、速度の問題でこれをC++に書き換えたいです Pythonのnumpyみたいなものはc++にも有りますか? OpencvのMatを(多次元配列に格納するなりして)C++で弄くれると嬉しいのですが
606 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 07:05:01.46 ID:rmdm0Ojo.net] まずOpenCVはもともとC++で書かれてるライブラリであってPythonのはラッパーだって所から始めようか
607 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 08:33:46.01 ID:dagdXeyj.net] >>575 めっちゃコード書いてんじゃん
608 名前:はちみつ餃子 mailto:sage [2018/08/07(火) 15:24:28.59 ID:pMC2Ofi2.net] 江添っちはコード例はたくさん書いてるけど、 アプリケーションとして完成したものはひとつだけしか見たことねぇ。 今はドワンゴにいるし、社内で使うツールを書いたりすることもあるのかなぁ?
609 名前:デフォルトの名無しさん mailto:sage [2018/08/0
] [ここ壊れてます]
610 名前:7(火) 15:40:59.13 ID:3k81+fEr.net mailto: snprintfには第一引数をNULLにすることで本来何文字の領域があればよかったかを判断できるみたいだけど wchar_tにはそのようなものはないだろうか? [] [ここ壊れてます]
611 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 15:59:59.84 ID:8+yE0dxd.net] >>570 もしかして先月の27日、行ってきたの?
612 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 16:51:22.86 ID:rmdm0Ojo.net] おう行ってきたぞ 内容は知ってる話が多かったけど本人の口から聞けて楽しかった
613 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 20:17:28.47 ID:7soFSQAi.net] int main(int argc, char** argv) このchar**って他に変えれたりする?tcharとかwchar_tとか
614 名前:さまよえる蟻人間 mailto:sage [2018/08/07(火) 20:20:21.90 ID:p+v0mQmH.net] Win32では、int wmain(int, wchar_t**)に変えられるよ。環境変数の引数も付けるのは変態かも知れん。
615 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 20:21:20.30 ID:7soFSQAi.net] >>592 wmainになるのね 助かります
616 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 20:28:56.24 ID:rmdm0Ojo.net] 標準で認められてるmain関数はint main();とint main(int argc, char** argv);だけ それ以外は処理系の独自拡張
617 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 20:40:16.10 ID:8+yE0dxd.net] >>590 何か変わったこと言ってたらレビューplz
618 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 00:08:10.74 ID:N8tx/Inn.net] 実は宗教的な会合ではなかろうか 教祖もしくは弟子・伝道者・教皇の御言葉を拝聴する、それが宗教だ 現状、全ての教祖・開祖が生きている時代なので、それを感じないだけだ 10年後くらいにはぼつぼつ死にはじめる そこからが正念場だ サイモン&ガーファンクルも生きてるし、K&Rも生きてる、ついでに、ビャーネ・ストロヴストルップとかESRも生きてる 21世紀の今がそういう時代というだけだ
619 名前: mailto:sage [2018/08/08(水) 00:15:12.33 ID:35SEMuEM.net] >>596 デニス・リッチーは2011年に亡くなった
620 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 00:32:10.97 ID:bKO8QxvP.net] イタコがふえるんやなぁ・・・。
621 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 05:08:18.88 ID:d90b/R1Y.net] 宗教だと? 失礼だな 俺は禿を盲信なんかしてねえよ newなんかいらねえと俺は初版の当時から思っていたし 動的例外指定なんぞISOで否定されてんだぞ
622 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 05:53:47.96 ID:bKO8QxvP.net] ジェネリックなメモリ確保はどのみち必要だと思うよ。構文がどうであれ。 あと、動的にコンストラクタとか呼ばないといけないし必要だと思うよ。 個人的にnewはライブラリ屋さんが使えばいいものだと思ってる。
623 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 06:09:55.58 ID:d90b/R1Y.net] placementみたいのがあれば充分
624 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 06:18:49.25 ID:bKO8QxvP.net] タイプ量増えて嫌カモ。 new T[] ってできるのは結構強いと思う。 まぁ、自分でやる事はないけど。
625 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:00:42.37 ID:/7C7gkY0.net] A, Bそれぞれコンソールアプリケーションで作成 AがBをCreateProcessする状況を作成しました Aを実行したらBの専用のコマンドプロンプトが立ち上がって次々に処理をするのかな?って思ってたのですが 実際はAが立ち上げたコマンドプロンプトにBも出力などしてます これ分離することできないのでしょうか
626 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:11:53.05 ID:d90b/R1Y.net] タイプ量って、それは現状の構文での話やん コンストラクタを実行する構文がたとえば3文字のキーワードでできるなら その主張は崩れる
627 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:12:46.84 ID:HlzHxdvD.net] startコマンド
628 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:13:58.46 ID:EhLv0UZk.net] CreateProcess で "start cmd /c B.exe" を起動するんじゃだめ
629 名前:? [] [ここ壊れてます]
630 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:16:30.26 ID:d90b/R1Y.net] template <typename T, typename ...ARGS> T* create(ARGS ...args) { auto ptr = (T*)malloc(sizeof(T)); ptr->T(args...); return ptr; } 今C++をリメイクするならnewはクビだろ
631 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:29:04.25 ID:eb4eIp4R.net] >>603 AllocConsole
632 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 08:30:47.37 ID:lcYbehB0.net] メタプログラミングをやってみたいんだけど、テンプレートが中々難しい みんなどうやって駆使してる?
633 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 08:31:50.27 ID:jzgqxY6J.net] 慣れ
634 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 12:14:27.90 ID:rnBqZLRU.net] LPCTSTRをマルチバイトでもUnicodeでも対応して文字列操作するコードってどう書けば宜しいのでしょうか
635 名前:デフォルトの名無しさん [2018/08/08(水) 12:22:29.48 ID:oJrY5QK4.net] >>611 関数名オーバーロード。それを応用するtemplate。の2つかな。
636 名前:さまよえる蟻人間 mailto:sage [2018/08/08(水) 12:22:37.74 ID:NS40+Y1c.net] >>611 まず、#include <tchar.h>。 次にTEXTマクロ、_Tマクロの使い方を学ぶ。 さらに、<tchar.h>を見ながら、文字列関数呼び出しをジェネリックなものに置き換える。
637 名前:さまよえる蟻人間 mailto:sage [2018/08/08(水) 12:24:54.57 ID:NS40+Y1c.net] 必要に応じて#ifdef UNICODEを使う。
638 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 14:22:56.63 ID:oRJqApyO.net] >>577 お前は未だにPhenomなんてガラクタ使ってるんだっけ お前は無職だからそれでも恵まれすぎだけどな
639 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 14:33:18.94 ID:y2s3oWVB.net] Phenomってガラクタだったんだっけ? 使い始めてそろそろ10年になるが 現在Windows10が動いているけどな
640 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 17:05:37.41 ID:5Rj4GrBF.net] プログラムの板で、相手の使ってるハードウェアをネタに 悪口を言うのはよろしくないんじゃないか、と思ったけど、 アンカーの先を見たらそうでもないって気になった。 どうやら「固定ハンドルの人への攻撃はルール無用」という より上位のルールがあるようだ(あくまで個人的な基準)。
641 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 17:11:27.46 ID:7VVPJa90.net] >>617 ちょっとコテハンつけてくれないか?
642 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 18:09:52.75 ID:d90b/R1Y.net] 5ちゃんから入ったニワカ君だな コテハン様は名無しより偉いんだよ 失礼のないようにね
643 名前: mailto:sage [2018/08/08(水) 19:20:38.29 ID:35SEMuEM.net] >>615 よく知っているね、phenomIIx6 1090 で粘っていますよ、zen2 7nm にて大人買いしようと資金を積んでいます…
644 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 19:47:33.67 ID:y2s3oWVB.net] >>620 おれはそのちょっと前のやつ https://i.imgur.com/VvRofi2.jpg
645 名前: mailto:sage [2018/08/08(水) 20:17:40.85 ID:35SEMuEM.net] >>617 >固定ハンドル 固定ハンドルじゃありません、トリップです!!
646 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 20:31:08.79 ID:foEj61l6.net] ぬるぽ
647 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 20:33:39.72 ID:y2s3oWVB.net] トリップ生成の種も後悔されているから、誰でもなりすませるかと
648 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 20:35:12.86 ID:foEj61l6.net] 好きな文字列をトリップにする枝
649 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 21:20:41.90 ID:IxvHxUWv.net] >>611 Tに対応した文字列操作関数だけを使って操作するか、CT2W/CW2TでWに変換して操作するか実質二択。
650 名前:はちみつ餃子 mailto:sage [2018/08/08(水) 21:45:50.76 ID:X2pKT1V6.net] >>623 ガッ
651 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 06:46:59.99 ID:YmSdriT+.net] >>622 ヌル文字列を固定ハンドルにして、 それに QZaw... ってトリップをつけてるのかと。
652 名前: mailto:sage [2018/08/09(木) 06:59:20.10 ID:pqAEhCoO.net] テスト ◆QZaw55cn4c の酉って割れてるよね?
653 名前:はちみつ餃子 mailto:sage [2018/08/09(木) 17:44:07.59 ID:HZcgpX+K.net] ワシのトリップもな。
654 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 19:14:37.37 ID:oFkunHGA.net] この前のローグ、標準ライブラリにメモリ確保お願いしてるのに中でNULLオブジェクトを操作して落ちるようになって詰んだ。。。 もういやー。
655 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 19:46:32.29 ID:pqAEhCoO.net] >>631 cpplintとかInferとかかければある程度は原因絞り込めると思うけど Winじゃ導入が面倒か
656 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 20:25:08.47 ID:oFkunHGA.net] >>632 返信ありがとう。ヤル気がゴッソリぬけのたのでしばらく放置します。 特殊なこと全くやってないになんでこうなるんやー。 うぅ。。。
657 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 20:59:37.47 ID:N7zY56wf.net] >>633 メモリ管理の問題ということは、特殊なことをやってたかではなくて、基本的なことが正しくできてないということだよ。 プログラム初心者ならメモリ管理やポインタに煩わされない他の言語の方が良いかと思うよ。
658 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:08:18.06 ID:pNZUF6kv.net] まずはgoかjavaでもやったらいいんじゃないかね。
659 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:16:17.87 ID:8qUg7w5I.net] (ひっそりアップロードするんや…)
660 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:21:51.13 ID:2CPDzClL.net] >>633 バグって自分が絶対に大丈夫なはずと思っている箇所に潜んでいる しばらく放置してから見つけると、意外に簡単に見つかる
661 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:47:57.57 ID:dPMfUDyX.net] gimpel の PC-LINTお勧め
662 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:58:35.34 ID:jXGj01kj.net] 共有メモリでBSTR型のデータを共有してるのだけど これのデータサイズ取得する方法ある? 対象領域の先頭ポインタを基準にSysStringLen使ってデータサイズとれるかな?って思ったがとれなくて困ってる
663 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 21:59:33.60 ID:oFkunHGA.net] >>637 正解。慢心してた。 とおった!!俺のせいだった。ごめんなさい。 なんでスマポのインスタンス自動確保されると思い込んでたんやろ。ここだけ。 ごめんなさい。ごめんなさい。ごめんなさい。。。、
664 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 22:30:56.92 ID:BtZU6oOJ.net] 慢心と呼ぶべきか、脳内キャッシュを利用した最適化と呼ぶべきか。 しばらく放置することで脳内キャッシュが解放され最新データの利用が可能になる、ありふれた光景。
665 名前: mailto:sage [2018/08/09(木) 22:34:40.62 ID:rS9AJYq6.net] >>641 私の場合は、しばらく放置しただけではダメで、リリース(公開)することを契機に問題点が不思議と浮き彫りになる、という感覚を持っています
666 名前:デフォルトの名無しさん mailto:sage [2018/08/09(木) 22:39:20.96 ID:BtZU6oOJ.net] >>642 リリース(公開)する時の質問の文章を書くことで、脳内のメモリ配置が変わり、脳内キャッシュが破棄されたのでしょう。
667 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 01:22:05.57 ID:W2ty1llG.net] >>639 https://www.artonx.org/collabo/backyard/?BasicString bstrはちょっと特殊
668 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 02:28:33.68 ID:p9jfuJcV.net] https://dotup.org/uploda/dotup.org1607631.zip ふー。皆さまのおかげで、最初のAIが階段に到達するまでできました。 とはいっても想像するよりよっぽどチープだけどね。 やっとまともにデバッグできるようになったら、色々仕様変更したい病発動してジレンマに陥ってる。 特にトラップクラスいらねーんじゃね?とか思い出して、根幹を揺るがせつつある・・・。 というわけで、皆様どうもありがとう。 ちなみにgithubにも公開してるけど、ライセンスはmitなので煮るなり焼くなりしていいよ。 そんな酔狂な人間がいるか知らんし、多分
669 名前:同じコンセプトで書き直したほうがいいカモだけど。 githubはソース置き場にしてるだけからgitの操作さっぱりわからん・・・。Orz [] [ここ壊れてます]
670 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 03:17:37.39 ID:rT8gQk9M.net] >>644 URLサンクス もしかしてサイズ取れないと言うことだろうか
671 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 03:47:22.54 ID:B+R4+INY.net] 左様そう考えて差し支えない ID:rT8gQk9M は近隣住民の安全のために、BSTRをもたず、つくらず、もちこませずを堅持すること
672 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 03:49:46.96 ID:p9jfuJcV.net] https://ideone.com/eDOvCH これで、Next保存する方法ないですか? ダイナミックキャストだけかな? 継承したら自分の型忘れるのホント面倒。
673 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 03:49:53.40 ID:beAAeNyA.net] >>645 乙
674 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:01:00.88 ID:B+R4+INY.net] >>648 保存(シリアライズ)のインターフェースをBaseに持たせてNextでNextの保存処理を実装したらいいんじゃね
675 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:06:44.82 ID:p9jfuJcV.net] >>650 ゴメン。ちょっと舌ったらずだった。 各クラスが持ってるTypeに自分の型を保存する方法ないですか? 継承して記憶喪失になっても復元できるようにしたいのです。 システム内でちょくちょく必要になるのは俺がタコだからなんだろけど。 もちろん、ユーザーコードには見せないようにしますよ。
676 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:18:39.10 ID:B+R4+INY.net] 型を知りたいというならdynamic castが一番可搬性が高いやり方だと思うが 型を知りたいだけ、なんてことがあるのかどうなのか 普通はダウンキャストしたいという要求とセットのはずで、 ダウンキャストはインターフェースをゼロから周到に設計すればポリモーフィズムで解決できる 再設計をゼロからやれないときだけがdynamic_castの出番、という印象 ※ 個人の感想です
677 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:35:15.48 ID:p9jfuJcV.net] static_cast<DeleteAster<decltype(p)>::OldType*>(p)->OldTypeMethod(); 的なことをやりたいのですよ。 システム制作者が完全に意思疎通してて型がどうなってるか周知って前提なんだろうけど、 継承したものをごっちゃにコンテナに入れたら破綻するんだよなぁ。。。 anyもいいなぁと思ったけど、結局キャストする手間は変わらない。むしろキャスト必須。 なくても何とかなるけど、余計なコード書かないといけないからスマートな方法ないもんかなぁ、と。
678 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:38:40.37 ID:p9jfuJcV.net] 動的に型を保存する型がほしい。
679 名前:さまよえる蟻人間 mailto:sage [2018/08/10(金) 04:42:20.85 ID:KaDy9gZn.net] スクリプトすればぁ〜?
680 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:45:12.86 ID:p9jfuJcV.net] ですよねぇ。。。はう。
681 名前:さまよえる蟻人間 mailto:sage [2018/08/10(金) 04:50:41.18 ID:KaDy9gZn.net] usingとかtypedefとかtype traitsとかautoとか使へば、何とかできる気もするが、 さういうコードをなかなか書けぬ人はスクリプト言語へ行くへし。
682 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:58:16.48 ID:p9jfuJcV.net] rustがレールに乗ればなぁ。 そういえば、anyはtype_infoを返すメソッドがあるのでので動的にチェックができるみたいだねぇ。 ないよりましだけど、確率になっちゃう。ぐぬぬ。 >>657 そうそう、できそうな気はするんだよね。うーん。。。
683 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 05:13:40.93 ID:B+R4+INY.net] >>657 ID:p9jfuJcVの悩みはコンパイル時に解決できないからusingとかtypedefとかtype traitsとかautoでは_ぽ (Base* pを扱うコードのビルドでコンパイラが常に*pの型がNextであることを見抜いたり、Nextの詳細を見通せたりするわけではない というわけでポリモーフィズムでしか解決できん ID:p9jfuJcVは、クラスごとに異なるOldTypeMethod()を呼び出すインターフェースCallOldTypeMethod()を設けて BaseやNextそれぞれ毎に、適切なOldTypeMethod()を呼び出す実装を与えなさい ※ 個人の感想です
684 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 05:52:46.45 ID:d4sNno4d.net] 実行したいこととオブジェクトの型が一対一対応であるという保証はない。 C++固有のポリモーフィズム機能を使うと他の言語に移植できなくなる。 実行したいことを列挙型なりビットフラグのメンバ変数として保存しておくのが一番楽だろう。
685 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 05:53:49.02 ID:0eRJE2kB.net] テンプレートでダックタイピング的なことをするとか
686 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 05:59:59.43 ID:d4sNno4d.net] 追記。 やりたいことが1種類だけなら型と紐づいていても問題ないが、 やりたいことが複数の組み合わせになったら型と紐づいた設計は破綻する。 何がいいたいかというと、アキラメロンということだ。
687 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 06:38:46.33 ID:p9jfuJcV.net] 皆さまありがとうございます。無理ぽいことがよくわかりました。 >>659 うーん。 仮想関数との違いがよくわからないなぁ。 プロキシ―オブジェクトってことなんだろうけど。 うーんと、ほしいときって初期化タイミングの調整とかそのへんなのでメインレールはインターフェースでいいんだよなぁ。 どうしてこう融通が利かないのか。設計のせいか・・・Orz >>660 結局そういうことになるんですよねぇ。。。うーん。 >>661 コンセプトがいるような気がする。 さっき上げたコードをテンプレートとanyで書けば同じようなことはできるけど、エラー吐いたら地獄な気がする。 でも、そっちの方が高機能かもしれんなぁ。anyのキャスト問題を除けば。
688 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 06:40:45.22 ID:p9jfuJcV.net] とりあえず、お付き合いいただきありがとうございました。 今日は寝ます。また。
689 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:05:11.27 ID:f/eWc4F9.net] Unicodeの時はwchar_t、マルチバイトのときはcharとして扱ってデータをコピーしたい その切り替えを処理途中にifdef入れまくるのは不適切だと思うからdefineかtypedefを一度することによって 自動で切り替えられるようにしたいけどtypedefだとできない? #ifdef unicode #define tlen wcslen #else #define tlen strlen #endif int main () { TCHAR a; int size = tlen(a); }
690 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:07:47.43 ID:iZqKv3XP.net] コピーだけなら簡単
691 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:10:21.06 ID:f/eWc4F9.net] >>666 コピー以外も色々と
692 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:19:12.22 ID:iZqKv3XP.net] 色々と じゃ答えようが無い
693 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:19:41.44 ID:iZqKv3XP.net] 色々と 頑張ってね
694 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:31:58.40 ID:d4sNno4d.net] >>665 以下のようなwchar_t, char に応じたオーバーロード関数もある。私は使わないけど。 std::char_traits::length(const T* s)
695 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:31:58.98 ID:PNfVMsqd.net] 色々と間違ってる
696 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:33:16.73 ID:X/p1NsAX.net] コンパイル時に決まってるならテンプレートにすればいい
697 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:40:29.94 ID:f/eWc4F9.net] >>668 文字列長を求める データコピー Stringstream
698 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:44:16.79 ID:f/eWc4F9.net] >>670 これだとLengthに特化したやつだけになるのかな? 他にもあるので切り替え方法が知りたく >>672 コンパイル時には決まってます テンプレートを作成するってのはT型を作るってことかな?
699 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:46:33.59 ID:uYApHCeM.net] クラスのインスタンスのコピーさせない方法ってコンストラクタにdeleteをつけるだけで実現可能? それとも違うんかね? 参考を探していてもデフォルトコンストラクターにつけているだけで 複数のコンストラクターがある場合とかがわからない
700 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 07:59:27.52 ID:iZqKv3XP.net] コピーコンストラクタとoperator = をprivateにして 関数の実体も作らない
701 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 08:15:19.60 ID:cglfv0MQ.net] 今は=deleteも出来るぜ。
702 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 08:48:18.73 ID:uYApHCeM.net] privateにすることでできそう ありがとう
703 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 08:49:25.57 ID:a+3O8uOm.net] C
704 名前:++極める方法教えてよ [] [ここ壊れてます]
705 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 08:53:13.90 ID:FVsJ4La+.net] STLの仕様を見ます 自分で実装します ソースコードをみて答え合わせをします まずはvectorから、ハイ、どうぞ
706 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 09:02:52.19 ID:I9yy5anA.net] 高位合成toolを入手します。 あなたの思った通りの動きをするCPUを作れば完成
707 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 09:44:57.66 ID:UZimlLTI.net] CreateProcess失敗したときのhProcessに何が入るか記載しておいてよmsdn NULLなの!?それとも別なの!? msdn使いこなせるやつすげぇよ本当に
708 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 09:51:57.65 ID:I9yy5anA.net] そんな引数無い事について以下100レス程
709 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 10:25:12.98 ID:NKvoiPPS.net] >>670 char_traitsの関数はオーバーロードじゃねえだろ 引数ではなくスコープで区別するんだから
710 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 12:02:09.34 ID:d4sNno4d.net] >>684 スコープ?
711 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 12:20:52.35 ID:LvXbuhRM.net] >>683 CreateProcess()使ったことあれば lpProcessInformation.hProcess ってわかると思うが… >>682 何も書いてない → 何が入っているかわからない ってことだろ
712 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 12:21:22.72 ID:nFJe7QfE.net] >>675 https://cpprefjp.github.io/lang/cpp11/defaulted_and_deleted_functions.html
713 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 13:06:07.39 ID:I9yy5anA.net] >>686 HANDLEならINVALID_HANDLE_VALUEがデフォでしょ
714 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 14:25:58.73 ID:NKvoiPPS.net] >>685 std:char_traits<char>::length(const char*) std::char_traits<wchar_t>::length(const wchar_t*) こういう関数の選択は引数によらない wchar_t x[2]; std::char_traits<char>::length(x); //error
715 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 14:45:17.93 ID:LvXbuhRM.net] >>688 だからそんなことを期待しちゃダメってこと
716 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 15:10:51.55 ID:ayqbPQA0.net] >>689 wchar_tを使うとわかっていてテンプレート引数にcharを入れるのはおかしくない?
717 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 18:49:42.52 ID:hMB1uQwa.net] >>682 関数が失敗したら新しいプロセス自体作れられないんだから hProcessが不定でも何も困らないと思うが
718 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 18:53:21.62 ID:NKvoiPPS.net] >>691 std::char_traits::length(x); //error
719 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 19:18:52.44 ID:7XXHmUWL.net] おまいらコミュ障かよ
720 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 19:19:41.62 ID:JXFPQdyt.net] std::char_traits<wchar_t>::length(x);//0
721 名前: mailto:sage [2018/08/10(金) 19:23:47.91 ID:H9lF8aPc.net] >>680 >まずはvectorから、ハイ、どうぞ これ、いちどやってみたいですね… https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
722 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 21:04:31.61 ID:U4E1U51M.net] このメンツで開発とか地獄だろうな。。
723 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 08:11:36.74 ID:dFDFw6X4.net] ガイジしかおらんやんけ…
724 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 11:00:44.96 ID:X6Hz/xY3.net] char_traitsの件、どうも話通じてないなあ
725 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 11:25:54.74 ID:4zfRZVUI.net] 多重定義, オーバーロード - Wikipedia https://ja.wikipedia.org/wiki/%E5%A4%9A%E9%87%8D%E5%AE%9A%E7%BE%A9 質問者が解決の糸口を見つけられればそれでいい。 >>684 のような間違った用語定義を主張して、何の生産性にも貢献しない ID:NKvoiPPS みたいな人は迷惑。
726 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 12:18:16.68 ID:X6Hz/xY3.net] >>700 Wikiより規格票な N3337 13 Overloading [over] When two or more different declarations are specified for a single name in the same scope, that name is said to be overloaded. JIS X3014:2003 13. 多重定義 同じ名前を指定した異なる宣言が同一有効範囲内に複数ある場合,その名前は,多重定義されているという。 言わんでも解るだろうから、説教臭いことはあえて黙っておく
727 名前:はちみつ餃子 mailto:sage [2018/08/11(土) 13:37:39.73 ID:zO3XAoAm.net] たしかに >>670 のいう「オーバーロード」は用語の使い方が誤っているが、 それはそうとしてオーバーロードっていう言葉の中にバーローという言葉が入ってるから、 オーバーロードの話題が出るたびに俺の中のコナン君がバーローとささやくので、 お前らにも同じ呪いをかけてやろう。
728 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 13:41:08.56 ID:xFvEQmr2.net] 真実はいつも多重定義されない!
729 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 13:43:33.49 ID:xFvEQmr2.net] std::char_traits<char>::length()と std::char_traits<wchar_t>::length()は 互いに同じ名前(a single name)なんやろうか…
730 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 15:53:50.27 ID:xFvEQmr2.net] >>663 >どうしてこう融通が利かないのか。設計のせいか・・・Orz ユーザーコードにクラスの中で定義された型(Base::TypeやNext::Type)を見せるのはやめて、 NextやBaseのオブジェクトのふるまいとしてだけ見せたら宜しいかと ふるまいだけを見せる抽象化はまず純論理的にはポリモーフィズムで逝ける 次の段階として、呼び出しの度にvtblの間接参照が一発入る遅さを嫌い、高速化したいという要求が生じるかもしれないが そのときは知らん(テンプレートによるダックタイピングでさらに戦うこともできるが同一翻訳短以内でのcloseが前提でありかつクラスの継承の恩恵にはなかなかあずかれない
731 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 15:58:27.82 ID:xFvEQmr2.net] なおふるまいだけを見せる抽象化ができないオブジェクト指向言語とか無いから他言語への移植性とかを気にするのは狂気の杞憂 ていうか非オブジェクト指向言語であっても関数ポインタと構造体が使えれば似たようなことはいつでもできる
732 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 18:59:43.05 ID:X6Hz/xY3.net] 非オブジェクト指向言語とオブジェクト指向言語で 最終的に作れるものと作れないものは その違いによる差は全くないんだが
733 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 22:22:49.51 ID:xFvEQmr2.net] ちな>>707 は、>>660 へのレス。
734 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 22:42:05.15 ID:4zfRZVUI.net] 技術系の板でID使い分けする惨めさよ
735 名前:707 mailto:sage [2018/08/12(日) 07:44:03.92 ID:2Xoj+DoI.net] 俺の偽物がいるな
736 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 20:13:35.92 ID:KnTIebYQ.net] レイトレーシングをやってみたいんですけど、何もない状態から画像を生成するのと、画像処理(opencv)でやろうと思ってます。 前者と後者とも資料は見つけたのですが、どうやって勉強するのがおすすめですか? opencvで例えばアイドルの画像をCGっぽく、またはアニメっぽくはできたりするのでしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 22:21:45.58 ID:MDfKI+a6.net] >>711 多分君には無理だからそういったアプリを探しなさい 煽りでも何でもなく実力不足
738 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 23:17:59.82 ID:RJjtK8Ko.net] >>711 レイトレーシングの本質は三次元空間での光の挙動のシミュレーションであって 既存の画像を加工するような技術じゃないぞ
739 名前:デフォルトの名無しさん [2018/08/13(月) 00:27:19.20 ID:p4qIMBze.net] Late racing.
740 名前:デフォルトの名無しさん [2018/08/13(月) 00:28:37.24 ID:p4qIMBze.net] 視線の追跡したほうが効率よさそうな気がする。 目に入らない光は無いも同然だし。
741 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 00:31:27.67 ID:sn7iPKpv.net] 一番シンプルなレイトレの実装は視線追跡だからな
742 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 00:33:31.73 ID:sn7iPKpv.net] >>716 寝ぼけて謎な用語の用法をしてしまった忘れてくれ 視線側からのレイの追跡だ
743 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 00:36:44.24 ID:XxWurSAu.net] トイレの覗きかと一瞬勘違いしましたw
744 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 00:43:21.17 ID:MxL7CAkg.net] ちゃんとミラーボールの映像から抽出しないと
745 名前:デフォルトの名無しさん [2018/08/13(月) 01:42:46.41 ID:+YkMTMKz.net] 遠い昔だが、いい基礎解説本があったんだがタイトルが思い出せない 98用のCのソースコードも附録でついてた 98なんかもってなかったから、Xlibで動かした記憶がある その書籍はサーフェイスモデルもレイトレーシングも基礎から丁寧に書いてある良書だった サーフェイスモデルについては、ものすごい力を入れて書かれてた良い本だった ワイヤーフレームから陰面消去、さらに双三次スプラインでの補間、そしてレンダリング、バンプマッピング さらに3次アフィン変換つかってモーションキーで動くとこまで解説してる 基礎で必要な内容は、ほぼすべて網羅されてて、バカでもチョンでも分かるように書かれてた で、レイトレーシングはサーフェイスモデルより超簡単だからな このスレのアホが難しいといってるだけで むしろレイトレーシングはバカでもチョンでも分かる
746 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 01:48:30.63 ID:GxmByJ3O.net] せっかく良い質問なのに、 あまり汚い言葉で、アホとかバカとかチョンとか言わなない方がいいよ…
747 名前:デフォルトの名無しさん [2018/08/13(月) 02:07:33.90 ID:Zz4bK/+7.net] レイトレならこれもおすすめ https://qiita.com/mebiusbox2/items/89e2db3b24e4c39502fe
748 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 02:52:34.70 ID:J+SKK2b0.net] Oh!Xにソース付きで事細かく書いてあってだな
749 名前:デフォルトの名無しさん [2018/08/13(月) 03:13:41.34 ID:bfksj/4u.net] 多分これだと思う https://www.amazon.co.jp/dp/4871481999 3冊とも名著。1と2はBASICだけど
750 名前:デフォルトの名無しさん [2018/08/13(月) 03:39:58.88 ID:p4qIMBze.net] レイトレーシングに限らないけど、アルゴリズムの勉強にはLinuxが良いですよ。
751 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 04:00:12.36 ID:3+Hm6Wut.net] 紹介されてる本全部古い... linuxだと何がいいの?
752 名前:デフォルトの名無しさん [2018/08/13(月) 04:14:38.66 ID:p4qIMBze.net] Kernelソースが勉強になります。
753 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 04:15:34.47 ID:J+SKK2b0.net] openclとグラボの勉強したら? レイトレーシングの大量の計算するのがグラボでしょ
754 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 06:59:52.73 ID:k7xD/gvg.net] >>724 アスキーの『応用グラフィックス』か。入門・実習・応用の3冊シリーズだね。 各巻のつながりは緩いから順番に読まなくてもほぼ大丈夫だけど。 確かに良い本だった気がするけど、なにぶん読んだのが昔なんで いくらも理解できなかったわ。今ならもう少しマシだと思いたい。 大学近くの古本屋でなら見つかるかも。
755 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 07:05:01.34 ID:JKsq+WjD.net] 畏(おそ)れ多くも森喜朗元帥閣下の有り難いお言葉: 「オレはIT(いっと)のことはよく知らんがぁ 時計をたった2時間早めるだけだろぉ? オレなら1分あれば済ませるぞぉ! サマータイムの何がそんなに難しいんだぁ?」 システム開発現場の勇ましい言葉: 「畏れ多くも森元帥閣下のご下命を賜った以上 現場SEは有り難いお言葉に勇気百倍 デスマーチとバンザイ突撃を敢行いたします!」 「マラソン選手さまが涼しい時間に走るためなら 現場SEの千人や二千人死んでも本望です! 私たちSEの生命など、虫けらと同じです!」 「畏れ多くも森元帥閣下の有り難いご下命にしたがって 最前線システム開発現場で殉職出来るとしたら 現場SEとしてこれに勝る喜びはありません!」 日本という国では 体育会系が一番偉い(森元帥閣下、田中理事長) 文科系がその次で(財務省、教授会) 理科系は最底辺の奴隷とされています(現場SE)
756 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 07:26:44.37 ID:WtSMvp2C.net] レイトレーシングがサーフェイスモデルより簡単とか 半透明物体内部の散乱表現に踏み込んだらそんな寝言は言えないんじゃ…
757 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 10:07:11.78 ID:uSgRX9ke.net] みんな例外と戻り値ってどう使い分けてる? 例えば以下みたいな、ファイルからとある要素を抜き出して返す関数とかで std::string extractHogeFromFile(const std::string& file_path) 俺だったら以下みたいにしてるけど、いまいちしっくり来てないとも思ってる ファイルが見つからない→例外 要素が見つからない→例外 要素が見つかるけど空→空 みんな例外クラスとかはstd::exception継承して自作してるのかな? バックトレースやコード行数とれないのが使いにくくて、javaっぽい例外クラスを自作してる
758 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 10:16:27.95 ID:Z0vFISs/.net] 例外は発生時の動作が遅い
759 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 10:17:50.65 ID:gsTSbRo/.net] exceptionを直に継承ということは滅多にないな system_errorがあるからerror_categoryの派生クラスを作れば大抵足りる __FILE__ や __LINE__ のようなデバッグ情報を入れたくてマクロを作ることはあるけどね 空という概念ならoptionalはいかが? template <typename ELEMENT> std::optional<ELEMENT> extractHogeFromFile(std::path) noexcept(false);
760 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 10:36:14.97 ID:uSgRX9ke.net] >>733 発生時は確かに遅いね ただ、あくまでも例外的なものだけに利用をとどめておけば、そんなに発生するものでもないし、その場合は戻り値をifで見るより命令数が少なくなるから、結果的に高速になるって俺は考えてる >>734 exception直に継承も少し疑問もってるんだけど、std::exceptionのcatchで全部取りやすいからこうしてるんだよね ...でcatchは乱暴な気がするし ただ、調べて見た感じsystem_errorも使いやすそうね。最近開発で使えるようになったC++11だからこんなのあるの気づいてなかったわ std::optionalとかあったんだね、ちょっと調べてみるわありがとう
761 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 11:20:33.79 ID:NtbFT1j9.net] >>720 レイトレーシングが簡単なのは入り口だけ 20世紀あたりのなんちゃってレイトレーシングは楽だけど本格的にやると解決できない問題が多数出てくる
762 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 11:32:34.68 ID:D1VtDJH7.net] ファイル開くのはそれ自体がすっごい遅い操作だから例外のコストなんか無視できるのと 開き損なうとそれ以降の処理が致命的な失敗になりやすい そういう操作のエラー通知が例外に向いてる
763 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 11:47:23.91 ID:2dORgvS5.net] >>733 例外発生時の速度が問題になるなら例外の使い方を見直した方がいい
764 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 12:31:28.26 ID:Z0vFISs/.net] >>832 に対して 例外は遅いから例外の時に使いましょう ということを書いたつもりなんだけど 単なる終端マークとか区切りとか そういう頻出する可能性のある用途では使っちゃダメってこと
765 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 12:35:13.84 ID:Z0vFISs/.net] 例外は仕組みを入れるだけで、 例外が発生しなくてもオーバーヘッドが発生する環境がほとんどなので 組み込みだとわざと無効にすることも多い x86の64bitはオーバーヘッドが無い代わりに 例外発生時は極端に遅い 一度測定してみるとその遅さがよく分かる そういうことがわかっていれば どこに使うべきかがおのずとわかる
766 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 12:41:46.34 ID:WtSMvp2C.net] 低水準ライブラリに属するべき関数が例外みたいな高級なしくみに依存するのは美しくないキモス システム設計とかアプリの基本設計レベルで例外の種類とcatch箇所とcatch時の処理を定義して使うなら良い が、呼び出し側でif文を書きたくないからという理由でイミフな例外定義を行うと、結局第三者に正しく使ってもらえない キモス
767 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 12:48:07.11 ID:WtSMvp2C.net] 例外のオーバーヘッドについてはこれな↓↓↓ ttp://zakkas783-blog-blog.tumblr.com/post/3870295160/c-の例外ハンドリングとパフォーマンス >>740 の通り例外処理の裏側の実装には2つの潮流があるんじゃ
768 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 13:03:58.12 ID:u8inRKlo.net] 制御をすっ飛ばす必然性があるほどの例外的状況に限るのが吉だろうな。 返値で返せないものを返すのに使うなら検査例外のような保証が欲しいところ。
769 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 13:22:39.94 ID:BGH31mSy.net] 別スレッドでの関数呼び出し階層が深すぎて安全にスレッド終了させる方法が分からない時に便利でしょ、例外。
770 名前:デフォルトの名無しさん [2018/08/13(月) 13:37:06.53 ID:hqkLiaZ4.net] このパーセンテージどうやって表示してるのですか? aokomoriuta.hateblo.jp/entry/2016/05/05/145810
771 名前:デフォルトの名無しさん [2018/08/13(月) 13:37:33.57 ID:hqkLiaZ4.net] すいませんこれです https://i.imgur.com/p53FZao.jpg
772 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 14:16:12.02 ID:uSgRX9ke.net] 前測ったときはアセンブリ言語にしてみると、戻り値ifチェックだと2命令だったのが例外使うと20命令くらいだったなぁ
773 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 14:27:34.65 ID:uSgRX9ke.net] >>741 自前の文字列操作のUtilとかだと例外にするかすごいその観点で迷うんだよね >>743 賛否両論なjavaの検査例外だけど欲しくなるときはあるね C++の例外指定がもう少し使いやすければよかったんだが >>744 すごく同感
774 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 14:39:38.06 ID:gsTSbRo/.net] >>739 困ったことにbasic_iosはexceptionsで頼みもしてないのにEOFで例外を投げる
775 名前:デフォルトの名無しさん [2018/08/13(月) 14:48:44.15 ID:p4qIMBze.net] HTTPで400番台500番台は例外投げればいいのかな。
776 名前:デフォルトの名無しさん [2018/08/13(月) 14:51:05.76 ID:p4qIMBze.net] 例外を投げるクラスはピッチャーって名前でいいんか? 受け取るクラスはキャッチャー?
777 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 15:18:30.60 ID:m/ibS17x.net] 甘めの例外を打ちかえすのはバッター
778 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 15:38:43.20 ID:Twrhv79p.net] C++17では多値が返せるようになりました。 できるならレガシーを切って次へ行きたいものです。 またはstd::optionalなんてものもありますな。 std::tuple<bool,Item> Fun(){return {true,Item()};} auto [F,I] = Fun();
779 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 15:41:48.16 ID:Twrhv79p.net] あ
780 名前:、多値自体は返せたけど受け取って初期化できるようになったか。 ちなみにすでに実体化している変数は、std::tie(...);で受け取れます。 [] [ここ壊れてます]
781 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 16:14:15.10 ID:gsTSbRo/.net] >>754 prvalueでもforward_as_tupleならおk
782 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 16:15:13.67 ID:gsTSbRo/.net] auto func() { return forward_as_tuple(123, "456"); }
783 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 19:17:45.97 ID:Twrhv79p.net] お、なるほど。良いこと聴いた!
784 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 20:21:18.19 ID:m/ibS17x.net] ただ元からタプルがある言語と比べたら劇的に汚い仕上がりだよね
785 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 21:43:01.79 ID:3hlPfGdJ.net] itest.5ch.net/test/read.cgi/tech/1528382412 前スレのURL違うくね これがただしいっしょ
786 名前:デフォルトの名無しさん [2018/08/14(火) 02:06:11.13 ID:41LFYoyc.net] >>758 何と比べてる?
787 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 02:50:24.34 ID:oCVPQ4uM.net] そんなに汚いかねえタプル
788 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 03:32:08.59 ID:+lmSJTba.net] 演算子オーバーロードっぽいものを珍重するのはやめた方がいいと思うけどね。
789 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 08:20:26.94 ID:8F/Sy9ZI.net] autoでしか受けられないのがイマイチかなあ メインの戻り値は期待する型を明示したいことがある エラーの方が何のenumかは知ったこっちゃないからautoにしたかったりするからややこしい
790 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 09:31:57.53 ID:oMbBbcEB.net] 無名の共用体と似たようなもので 構造体のメンバをバラで貰えるってだけやん
791 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 09:44:39.80 ID:fJuFDfsp.net] 型推論のautoを見て嘔吐
792 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 12:12:14.83 ID:9UC8tUq9.net] C++のメタプログラミングって実際にはどうすればあんな複雑に書けるの? 自分は出来ても階乗を求めると型の判別くらいしか出来ない
793 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 12:16:05.35 ID:aWfB90DT.net] まずは脳内バッファを増やす訓練からだな
794 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 12:26:17.71 ID:8F/Sy9ZI.net] 関数型言語を勉強するといいよ
795 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 12:41:59.55 ID:9UC8tUq9.net] >>767 脳内バッファがなぜ必要? >>768 そうしてみる‥ Lisp読んで見る
796 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 13:29:44.46 ID:z3VJK4Uc.net] >>766 メタプログラムは今ほとんどconstexprに置き換えれない?
797 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 14:16:24.99 ID:9UC8tUq9.net] >>770 確かに置き換えられるんだけど、それじゃあ普通のプログラミングと変わらなくて面白みが無いと思って‥
798 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 14:39:49.94 ID:vEMT9LA3.net] >>770 型でメタプログラミングするとき困らんか?
799 名前:デフォルトの名無しさん [2018/08/14(火) 14:41:24.25 ID:UlU0qat0.net] >>772 もちろんtemplateも使う
800 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 16:24:16.29 ID:oKGdiTQg.net] >>760 特に何とは言わないけど return (123, "456"); とか return 123, "456"; みたいに現行のc++ではできないタプル表現のほうがすっきりして見える (個人の感想です)
801 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 16:31:09.91 ID:fJuFDfsp.net] 123には副作用が無いから最適化でreturn "456";になるんじゃ…
802 名前:はちみつ餃子 mailto:sage [2018/08/14(火) 16:32:25.07 ID:EPC9iky2.net] >>775 「できない」って話だから……
803 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 17:01:49.73 ID:zHCh+0V6.net] vector<object*>* list; Fuga fuga; Hoge* hoge; for(int i = 0; i < 5; ++i) { fuga.fugaMethod(hoge->hogeMethod(list->at[i])); fuga.fugaMethod(hoge->hogeMethod((*list)[i])); // エラー } リストの要素に対して全部処理をするっていうよくあるプログラムなんです。 なんですが、上の書き方だと通るのに対して、下の書き方だと「式にはクラス型が必要です。」と出ます。 vectorの要素指定はa
804 名前:t(i)を使うか括弧で指定するかの2通り、違いは範囲チェックを行うかどうかだけという認識だったのですが…… 何がまずいんでしょうか? [] [ここ壊れてます]
805 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 17:10:49.55 ID:oMbBbcEB.net] list->at[i]はまずいだろ typoか? それとも本当にそう書いているのか?
806 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 17:27:33.05 ID:8F/Sy9ZI.net] typoじゃないとしたら、上は通ってるんだから hogeMethodの引数がobjectかobject&なんだろうな
807 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 17:31:42.31 ID:zHCh+0V6.net] えーっとtypoじゃないです。 何がまずいんでしょうか。ポインタだしアロー演算子で問題ないのでは。 それとhogeMethodの引数はobject*ですね。抜けてましたすいません。
808 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 17:49:25.24 ID:K29Njy0m.net] listの前の*が邪魔?
809 名前: mailto:sage [2018/08/14(火) 18:00:20.07 ID:5K5qKv3G.net] >>777 vector<string *>::iterator list; なら理解できるのですが、 vector<string *> *list; というのが、よくわからないのです プログラム例では list にすでに値が入っているようですが、実際には list をどのように初期化しているのでしょうか?
810 名前:782 mailto:sage [2018/08/14(火) 18:19:15.36 ID:5K5qKv3G.net] >>777 (*list)[i] (*list).at(i) list->at(i) は等価であることを確認しましたが list->at[i] というのは逆にダメっぽいです https://ideone.com/ripLji list->at[i] がどういう文脈なのか? コンパイラがなになのか情報をください
811 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 18:27:08.03 ID:oMbBbcEB.net] >>780 何がまずいって listはvector<object*>へのポインタ list->atはvector<object*>::atでメンバ関数 ここまではいいが at[i]は関数に添え字だろ こうやってんのと同じだぜ void func(); func[1];
812 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 18:32:33.03 ID:9UC8tUq9.net] なんでメンバ関数を配列にしたいのかかが気になる
813 名前:デフォルトの名無しさん [2018/08/14(火) 18:35:36.38 ID:zHCh+0V6.net] あ、すいません、確かにat(i)はtypoでしたね。 ごっちゃになってましたすいません
814 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 19:46:01.17 ID:TB9AjC50.net] >>786 > 確かにat(i)はtypoでしたね。 なら普通に両方コンパイルはできるはず エラーになる最小限のコードにしてどこかにアップして
815 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 20:00:34.01 ID:aWfB90DT.net] そんでだいたい最小化してるうちに気づくんだよなw
816 名前:デフォルトの名無しさん [2018/08/14(火) 20:01:24.90 ID:UKq+CNIv.net] 関数テンプレートの部分特殊化ってC++17でもできないの?
817 名前:デフォルトの名無しさん mailto:sage [2018/08/14(火) 20:08:30.24 ID:HhG+br3u.net] >>788 まあ本人気づくのが一番いいから
818 名前:782 mailto:sage [2018/08/14(火) 20:18:07.26 ID:5K5qKv3G.net] >>790 寛大ですね…
819 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 13:34:49.18 ID:bAZUebux.net] >>789 できない # いらんだろ、多重定義で同じ目的を達成できるから
820 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 15:58:12.56 ID:/VaqEwQY.net] 関数の多重定義もクラステンプレートの部分特殊化でstaticメソッドを特殊化したら代替できるからイラン
821 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 17:45:56.30 ID:bAZUebux.net] >>793 どゆこと? たとえば int abs(int); double abs(double); を、 クラステンプレートの部分特殊化でstaticメソッドを特殊化つーと template <typename A, typename B> struct num; template <typename A> struct num<int> { static int abs(int); }; template <> int num<int, int>::abs(int arg) { return arg < 0 ? -arg : arg; } みたいなことすんのか?
822 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 18:07:46.14 ID:GkoLimxd.net] 普通は関数オブジェクトにするんじゃね?auto operator()(...);
823 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 18:46:53.07 ID:GkoLimxd.net] あ、余計なこと言った。 https://dotup.org/uploda/dotup.org1613077.zip
824 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 18:48:12.11 ID:GkoLimxd.net] うご、投稿してモータ。 例のローグのシステムが大分できたのでなんとなく投下してみた。 汎用AIってどうやって書けばいいんや? しかも、まだバトルシステム作ってないし。
825 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 19:02:43.98 ID:GkoLimxd.net] ところで質問なんだけど、パスファインディングってサービスとして入れたほうがいいのかなぁ。。。
826 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 22:40:01.74 ID:QxvGNpoJ.net] >>766 です C++テンプレートメタプログラミングという本を買ってみたのですが、この本C++BoostのMPLの解説本です C++17がある今、この本の価値ってあるんでしょうか? 一応全部読んでみようと思ってるのですが
827 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 07:25:03.80 ID:t6OwQxX1.net] >>799 > 一応全部読んでみようと思ってるのですが 読んでみてから判断すれば?
828 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 08:19:40.35 ID:NceGg90N.net] 多分聞きたいのはこれ読んだらオラついていいですか?ってことだと思う。
829 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 08:50:47.25 ID:MDl/UAh8.net] >>800 >>801 すみません Boostを使わず、mplを使わないのでメタプログラミングするのが目的なので、それがこの本を読んで可能なのか?という質問の趣旨です
830 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 09:51:57.97 ID:t6OwQxX1.net] >>802 > Boostを使わず、mplを使わないのでメタプログラミングするのが目的 そんな明確な目標あるのになんでこんな本買うかなぁ ちょっとググればこんな意見が見つかるだろうに… ちょっと文章が直訳っぽくてところどころ不自然だけど,丁寧にBoost.MPLの実装(と使い方)について解説してあってとても分かり易い! d.hatena.ne.jp/eldesh/touch/20100412/1271090614
831 名前:はちみつ餃子 mailto:sage [2018/08/16(木) 10:25:53.58 ID:f3MTrlhW.net] >>802 メタプログラミングを活用すればこういうことも出来得るという事例集として見れば無駄ではないと思うが、 それを読んでメタプログラミングが出来るようになるかというと否だと思う。
832 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 12:02:41.09 ID:MDl/UAh8.net] >>803 この本を買ったのは高橋晶のC++11対応のテンプレートテクニックって本を読んで、巻末に本の紹介があって、メタプログラミングについて知りたいならこの本を読むべきって書かれてあって、読むことにした そのブログはすでに読んである >>804 メタプログラミング自体はどうすれば出来るだろうか?
833 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 12:37:43.15 ID:jOS7jxfN.net] 魔除けとして重宝している
834 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 12:41:22.12 ID:lxkNuozk.net] > そのブログはすでに読んである 私はバカです って言われても…
835 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 13:19:15.31 ID:MDl/UAh8.net] >>806 売ることにします‥ >>807 もう日本人に頼るのは辞めました そもそもWG21から情報を検索したほうが有意義かも これからは日本語のプログラミング書籍は買わない方がいいって教訓になりました
836 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 13:24:07.84 ID:AI90/kCO.net] 捨てゼリフ来たね そろそろご退場かな 総員塩の用意
837 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 13:27:57.29 ID:MDl/UAh8.net] >>809 いやだって日本人でC++やってる人少ないじゃないですか(´・ω・`)
838 名前:はちみつ餃子 mailto:sage [2018/08/16(木) 13:47:10.99 ID:f3MTrlhW.net] >>810 んなこたーない。
839 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 14:10:22.64 ID:yO9+GMaw.net] 「少ない」に比較がついてないから何とも言えない
840 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 14:34:47.46 ID:jOS7jxfN.net] やっぱPerl人口が一番多いと思うのねん その次がPHP
841 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 16:39:09.24 ID:TxXnQ6gb.net] 英語をスラスラ読めるなら「遅い・高い・分かりにくい」の 和訳版を買うことはないわな。 原書ならPDF版がタダでネット公開されてたりするし。
842 名前:デフォルトの名無しさん mailto:sage [2018/08/16(木) 20:44:21.68 ID:JF8AnYsh.net] >>799 前半とこどこBoost.MPLの設計理念とかどう実装されてるかとか書いてあるから、そこは参考になると思う 後半のTMP関連のテクニックはおそらく求めているものではないかと ExpresionTemplateの実装にあまり踏み込まないけど、どのように誤用されているかは少し参考になった
843 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 11:29:50.85 ID:lqMuboYf.net] https://wandbox.org/permlink/TC3VtzZ4Dd53Z1Y4 こういうコード書きました。 UIはとりあえず置いといて、Jsonの構造ってこんな感じでいいのでしょうか。 ご意見あったら教えてください。
844 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 11:54:52.92 ID:BEBC5Dle.net] あの初歩的な質問で申し訳ないんですけど、クラスのメンバ関数のことです 例えばAってクラスがあって、hogehogeって関数があったとします それでhogehogeは内部で関数を3つ呼び出す。ざっとこんなイメージです A.h class A { public: void hogehoge(); } A.cpp void A::hogehoge() { x(); y(); z(); } main.cpp main() { A a; a.hogehoge; } んでこの場合の関数x() y() z()なんですけどクラスAのメンバ関数にすべきなんでしょうか。 それとも単にA.cpp内に関数書くだけでいいんでしょうか。 x()y()z()はhogehoge以外から呼び出されることはありません。 自分は前者だと思うんですが、参考にしろと渡された前任者(今いない)のコードだとなんでもかんでもメンバ関数です。 よろしくおねがいします。
845 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:01:22.82 ID:BEBC5Dle.net] あ、すいませんhogehogeではxyzを呼び出す以外にも処理を行うものとします そうでないとxyzをメンバ関数にしてhogehogeなくせってことになるので
846 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:17:52.69 ID:TtX4VAeH.net] > x()y()z()はhogehoge以外から呼び出されることはありません。 だったらラムダ式じゃね? auto x = [this]{}; auto y = [this]{}; auto z = [this]{};
847 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:27:19.70 ID:6wrElEJt.net] >>817 どっちでも良い というか時と場合によってどっちにすべきかが違う
848 名前:デフォルトの名無しさん [2018/08/17(金) 12:29:57.76 ID:JC8oBFgD.net] メイヤーズは独立できるならメンバにせずに関数にしろって言ってた
849 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:31:59.93 ID:PQea+QN+.net] 言語処理ってphythonとC++どっちが向いてる?
850 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:37:52.08 ID:lqMuboYf.net] 処理内容によると思う。 一応、自分は、protectedのメンバ関数にするかなぁ。
851 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 12:49:54.76 ID:UZUA85Xq.net] >>822 漠然過ぎてどうとも ゼロから書く気はないんだろうから試行錯誤するのも含めてPythonのほうを勧めるよ
852 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 13:08:34.93 ID:KaaDwp63.net] >>817 関数にできるってことはメンバ変数の参照とか他のメソッド呼び出しがないんだよね なら関数にした方が微妙に速度が稼げる(thisを渡さずに済むから) 各々一回しか呼ばないなら呼び出し箇所に展開しても良いような気がする
853 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 13:39:31.71 ID:BEBC5Dle.net] 参考になりました。皆様ありがとうございました。 effective C++のメイヤーズ先生に従い、通常の関数にすることにします。 ……あれ、そうするとその関数群だけで使う共通の変数ってメンバ変数にすべきなのかcpp冒頭で宣言してグローバル変数にすべきなのか いやぁ難しいですね
854 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 13:59:24.66 ID:IJ2e6Mcr.net] データメンバーにしなさい グローバル変数は悪である
855 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 14:21:39.44 ID:TtX4VAeH.net] >>826 「共通の変数を使う関数群」をクラス化するんだよ そのためにあるんだから
856 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 15:10:01.00 ID:ujK6h2XS.net] >>826 > ……あれ、そうするとその関数群だけで使う共通の変数 いや、そんなもんがあるならメンバ変数にするか、それらを構造体とかにまとめて引数で渡すとかしなよ ファイルスコープだとしても今時グローバル変数は無いわ
857 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:26:14.63 ID:xjFqJl5K.net] いまどきグローバル変数を使うおとこの人って…
858 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:26:59.41 ID:PQea+QN+.net] >>824 ゼロから書く気はある
859 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:32:51.82 ID:uIPUTYG+.net] 「すべての男はグローバル変数である」
860 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:33:46.61 ID:6wrElEJt.net] わたし女だけど
861 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:41:55.00 ID:mGHQIGDT.net] クラスのstaticメンバにすりゃええんちゃうのん?
862 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:52:51.84 ID:TtX4VAeH.net] わざわざstaticにする強い理由があればそうするが 消極的な選択なら非staticのほうが何かと楽だぞ
863 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:54:48.35 ID:xjFqJl5K.net] staticおじさん、再び
864 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 18:06:46.13 ID:H85EoLGL.net] ちょうど気になる話題だから聞くけど OpenCVで1つの画像データを複数の関数で扱う場合って、引数として渡すのとグローバル変数として定義するのってどっちが良いのかな?(速度とかの面で) 無限ループで毎フレーム毎にWebカメラから読み取った画像を(グローバル)変数に代入するからそこでの速度とかメモリ管理の差とかあるのかな?
865 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 18:08:23.37 ID:UZUA85Xq.net] >>831 そこまでして再発明したいんなら言語なんて何でもいいんじゃね? ちなみに素養はお持ちなの? そういう研究してたとか
866 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 18:09:24.28 ID:ABziGu/h.net] >>833 オカマはだまってろw
867 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 18:09:55.69 ID:UZUA85Xq.net] >>831 あ、読み違えた 自然言語処理ではないんだね 何かのパーサーでも書きたいんですかね?
868 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:04:11.30 ID:/oSEwJ0G.net] >>837 OpenCVのMatなら何も考えずにコピーすると浅いコピーになる 浅いコピーのコストが問題になるならグローバルなりメンバなりにする方がいいのでは
869 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:06:50.86 ID:6wrElEJt.net] 何で浅いコピーだよ 普通はポインタか参照だろ
870 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:10:12.86 ID:IJ2e6Mcr.net] cv::Matがスマポみたいなもんだということを知らずにチャチャ入れてるなら黙ってたほうがいいよ
871 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:17:25.23 ID:6wrElEJt.net] そんな事はしっている 目の前に浅いコピーって書いてあるし 浅いコピーよりも当然参照やポインタ渡しの方が速い 当たり前だ sizeofでcv::Matのサイズを調べてみろ 構造体やクラスを渡すのに深い浅いに関わらず コピーなんか使うなよ
872 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:28:06.57 ID:KaaDwp63.net] >>837 > (速度とかの面で) 早すぎる最適化は諸悪の根源である ドナルド・トラン… じゃなくてクヌース
873 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:44:40.54 ID:0e7dWRcF.net] 今更になって>>825 で言ってくれたことが理解できた クラス内でメンバ変数使おうとするとメンバ関数じゃないとだめなのね。普通に分けたただの関数からじゃ呼べなかった えーこういうもんなのか
874 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:55:12.57 ID:RgiGOjCt.net] cv::Matとcv::Mat*のコピーコストの差を気にするくらいならデリファレンスのコストも気にしなきゃな。
875 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 20:02:22.24 ID:IJ2e6Mcr.net] 844はunique_ptrやshared_ptrも参照渡ししてそう
876 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:11:59.07 ID:6wrElEJt.net] >>847 構造体やクラスだと ポインタや参照がデフォなんだよ とりあえずポインタ、参照で渡す事を考える これでは困る時にはじめて他の方法を考える わざわざ無駄に重くしなくて良い コードサイズも実行時間も使用メモリも増える 悪いことしかない
877 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:28:22.24 ID:p6eculQx.net] >>838 世の中の殆どは再発明の繰り返しではないか そこから新しいものが生まれる >>840 機械学習、音声言語処理に興味ある 生成や知識獲得とかも
878 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:33:47.04 ID:rVfGTX61.net] とりあえず車輪からだな あっそれロン。大車輪で役満です
879 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 23:28:39.10 ID:2sBNjScG.net] ユーザーの実行コストを考えたらC++しかありえない
880 名前:さまよえる蟻人間 mailto:sage [2018/08/17(金) 23:29:57.49 ID:L+nRWRoK.net] >>852 Rustを知りませんか?
881 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 23:48:03.15 ID:3F
] [ここ壊れてます]
882 名前:you0AL.net mailto: >>848 間違って通常のポインタを引数に指定されないよう、共有ポインタの参照を引数にすることはあり得るでしょ。 [] [ここ壊れてます]
883 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 23:49:26.53 ID:2sBNjScG.net] RustはいつになったらC++を殺すんだ?
884 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 02:00:38.26 ID:/pVEXQTC.net] https://github.com/rust-lang/rust/issues エラーが4000件だから、しばらく無理。
885 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 10:32:16.38 ID:zXZq/jKJ.net] Visual Studioのデバッグ実行ってクラッシュとかしてもコードのどこでクラッシュしたかを示してくれるのですごく便利なんですが、 ただでさえ重めだった実行が、2015から拍車がかかり、かなり使いにくくなってしまいました。 どうもvector等のSTLの範囲チェック等が重たいとのことで、たしかにSTLの使用割合が多いアプリほど重たい傾向にあります。 たしかに範囲チェックはありがたいのですが、多少デバッグ能力を妥協して動作を軽くできないでしょうか? 理想はデバッグ機能をカスタム実装してリリースモードで動作でしょうけど、 予想できないクラッシュ等に対応するのが難しいと思います。 ご助言、よろしくお願いします。
886 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 12:38:36.62 ID:C9f4IyR8.net] >>857 IDEに頼るな vimを使え
887 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 12:58:55.58 ID:qRHlEVCy.net] 理想は平均的な性能のPCを買うことかな
888 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 13:48:15.95 ID:9bYd+OzJ.net] >>857 https://msdn.microsoft.com/ja-jp/library/hh697468.aspx
889 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 15:07:37.45 ID:T6klohyz.net] 質問ですが class Foo { public: int a[100]; Foo(); }; というクラスにおいて、構築時にメンバa[]をゼロ初期化する簡単な書き方はありませんか ちなみに Foo::Foo() : a({ }) { } とやったらエラーになりますた、
890 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 15:27:11.61 ID:/pVEXQTC.net] https://ideone.com/BuNLLF こう?
891 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 16:07:29.18 ID:cIuR0GWn.net] 普通に書いたらええがな。 Foo::Foo(){ for(int i=0; i<100; i++){ a[i] = 0; } }
892 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 16:21:12.10 ID:T6klohyz.net] レスdクス、 >>862 申し遅れましたがやpっぱC++11では_ですかそうですか…
893 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 16:59:01.67 ID:/pVEXQTC.net] 初期化法自体はC言語からある方法だけど。 構文はC++だけどね。
894 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:03:27.71 ID:/pVEXQTC.net] あー、そうなのね。あれって環境依存だったのか。ゴメン。 https://wandbox.org/permlink/ASJ3oCbkha0Ren8B
895 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:32:50.09 ID:dGIgNVTb.net] >>859 平均的じゃ足りんだろ VMwareとか使いまくるには RAMとHDDがたんまりないと心許ない
896 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:34:51.43 ID:WtnFgJ11.net] Foo::Foo() : a{ } { } でええやん
897 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:36:04.82 ID:dGIgNVTb.net] >>861 Foo::Foo() : a{ } { }
898 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:36:29.52 ID:/pVEXQTC.net] >>868 そんなことできたのかぁー。うぼぁー。
899 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 17:36:36.32 ID:dGIgNVTb.net] あ、被った すまんこ
900 名前:さまよえる蟻人間 mailto:sage [2018/08/18(土) 17:36:58.77 ID:ONgNSdiS.net] 今時はSSDだろ。SSDにデータ移行しなよ。VS2017が数秒で起動するぜ。
901 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 18:54:50.29 ID:dGIgNVTb.net] うんC:はSSD一択だね できればSLCのやつ
902 名前: mailto:sage [2018/08/18(土) 19:32:14.99 ID:/9y7PjMS.net] >>872 何もかもがめんどくさっくて、C ドライブになんでもたんまりと仕込むのが好きなんですが、 1TB くらいある SSD ってお高いんでしょう?
903 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 19:49:21.94 ID:Q0JvwYe1.net] 最近は途中にマウント出来るのよ
904 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 19:55:17.69 ID:gititOy1.net] >>874 例えば、だが Crucial SSD 1000GB MX500 内蔵2.5インチ 7mm ¥23,738
905 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 21:21:58.94 ID:F905Yoig.net] 理由はわかるが柔軟性が欲しい class A{ }; class B: public A{ }; temaplate<typename T> void test(T a, T b){ } A a; B b; test(a, b);//Error.型が一致しない。 test<A>(a, b);//ok.明治すればok
906 名前:さまよえる蟻人間 mailto:sage [2018/08/18(土) 21:38:06.56 ID:hlXM+cNJ.net] 型を分けて、共通型を使えば?
907 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 23:59:13.75 ID:3zCcdQf6.net] >>874 きみなら一時間とは言わないが、一日でそのくらい稼ぎ出すんやろ?
908 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 00:05:39.35 ID:RqnFNWUi.net] >>878 こうすればokというのはわかるけども面倒 template<typename LT, typename RT> void test(LT const& a, RT const& b){ }
909 名前:857 mailto:sage [2018/08/19(日) 01:30:39.96 ID:KCtnHGyc.net] >>860 ありがとうございます! これでやってみます! >>858 vim、興味深いですが、慣れるまで時間がかかりそうですね^^;
910 名前:デフォルトの名無しさん [2018/08/19(日) 09:02:49.22 ID:qd68oMAq.net] じゃあメモ帳で。
911 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 09:12:46.20 ID:qaYG8ur7.net] notepad++かサクラエディタ ttps://forest.watch.impress.co.jp/library/software/notepadplusp/ ttps://sakura-editor.github.io/download.html
912 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 09:25:18.62 ID:wM6XArJ0.net] vim は、 迷ったら、Esc を押して、コマンド入力モードにする。 そこで、a を押せば、append 文字入力モードになる :q! 保存せずに終了 :wq 保存して終了
913 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 09:26:24.72 ID:xXXJlhyc.net] 今は spacemacs 以外あり得ないよ 欠点が厳密にゼロ個な完全なチョイス
914 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 09:40:59.64 ID:0vPM1br5.net] 最近はVSCodeが使い物になってきたぞ CMakeとの連携も賢い 補完がまだ遅いが
915 名前:857 mailto:sage [2018/08/19(日) 10:56:19.69 ID:KCtnHGyc.net] 自分はサクラエディタを10年以上愛用しています。 VisualStudioはコンパイラ兼デバッガとして利用してます。
916 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:03:03.06 ID:5+hPFDRj.net] 俺の main.cpp が 9万5千行 を超えた ファイルサイズにして2.37MBある クラス内でなら前方参照が可能なC++の盲点をついて 適当な struct でプログラム全体を丸ごと囲って 前方参照しまくり & ヘッダに全部書くスタイルで 一つのファイルに全部押し込めた C++サイコー
917 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:03:58.10 ID:5+hPFDRj.net] ちなみにコンパイルが遅くなるのと コード補完が重くて使い物にならなくなるので 素人にはお勧めしない
918 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:13:18.08 ID:MSEMVqOe.net] キモイコードだなぁ。メンテナーが泣くぞ。
919 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:20:44.33 ID:5+hPFDRj.net] 大丈夫 サンデープログラマーで俺一人だけしか書かないから ソースコードも公開してないしな
920 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:22:38.72 ID:RqnFNWUi.net] なんのプログラムを書いたらそうなるんだ・・・
921 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 14:58:05.30 ID:0c0A7VGq.net] >>888 キモすぎやろ… >>891 見してくれ
922 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 15:04:46.82 ID:5+hPFDRj.net] こういうのは怖いもの見たさみたいなのもあると思うし これだけでコンパイルして動くものでもないので一応ソースコード あまりにもアレで、そっ閉じだろうけど www.geocities.jp/notenop/tomato_player/main.cpp コンパイル済みのソフトは www.geocities.jp/notenop/tomato_player/index.html からダウンロードできる 非同期処理に俺が思いついた横断的でトリッキーなアイデア https://qiita.com/notenopg/items/40571e69986a58b888a0 ↑が使われている 安全にキャンセル出来なきゃ await の意味ないでしょ!ってなもんで でもなかなか理解されないんだよなぁ、すごいアイデアだと思うんだが それからツリービューのアイテムのピン止めのアイデアは お気に入りやタブの代わりになって画期的だと思うんだが 何故マイクロソフトがエクスプローラに実装しないのか謎 特許関係かね あとはフォルダ階層をそのまま扱える木構造なプレイリストとか そんなことやってたら9万行超えました ちなみにUIはDirectXでちまちまフルスクラッチで手書き その代わりその辺のソフトに負けない速度で、4K対応
923 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 15:07:41.51 ID:5+hPFDRj.net] 庶民には理解できなくても プログラマであるあなたたちなら ピン止めできるツリービューが如何に画期的か理解できると思うんだよね タスクバーでも何でもピン止めの時代なのに ツリービューもピン止めできて良いと思うのよね
924 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 15:09:21.21 ID:5+hPFDRj.net] ああ、ツールバーとかスクロールバーとかのレベルで 全部フルスクラッチでDirectXで手書きだから
925 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 16:00:06.94 ID:RqnFNWUi.net] 庶民なる俺様にはピン留出来ることの利点がわからん
926 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 20:23:08.28 ID:qaYG8ur7.net] サクラエディタが優秀だということは分かった
927 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 21:38:13.69 ID:Vpx5N+CG.net] 見て欲しくて我慢できなかったんだな
928 名前: mailto:sage [2018/08/19(日) 22:28:08.34 ID:bW/fB7v7.net] >>711 https://www.amazon.co.jp/dp/4871481689/
929 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 08:03:46.47 ID:4c85aa3D.net] >>900 Makeって何?
930 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 14:14:50.32 ID:PcIDGZDw.net] >>901 来年にはSunOSにも移植される予定の超最新自動ビルドツールの紹介だよ!
931 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 15:49:07.20 ID:YVC1gYT/.net] >>901 オライリーがおかしな実験をする本だよ
932 名前: mailto:sage [2018/08/20(月) 18:47:45.43 ID:VU5jvdn2.net] >>901 昔から使われている原始的といってよいビルドツールです makefile に依存関係を書いておいて、コマンドラインで「 make -j」と起動すると、記述した依存関係にしたがってコンパイル・リンクが行われます
933 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 18:59:55.06 ID:ftO9aq8g.net] Linuxなんかで配布されたソースから実行ファイルを作成したいって時にお世話になります
934 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 20:29:15.33 ID:MlhHAxXO.net] >>904 この本を読めばコンパイルについても分かるの?
935 名前: mailto:sage [2018/08/20(月) 20:46:46.88 ID:VU5jvdn2.net] >>906 >>900 は make を C で記述するものであり、コンパイル自体について記述するものではありません
936 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 23:46:22.40 ID:qkN29+U3.net] クラス生成に挫折したのかな?w
937 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 00:03:12.90 ID:Y1eCmHG/.net] C++自体の本はたくさんあるのにビルドやプロジェクト構成について解説した本って全くないよな コピペで受け継いできた秘伝のMakefileやconfigureが蔓延してるのなんとかしてくれ 売れないだろうがCMakeの解説本が一冊欲しい
938 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 00:06:59.04 ID:FygfW+En.net] cmake はつい最近のVisual Studio 2017アップデートで標準インストール
939 名前:ウれるようになったから潜在需要あるかもね…。 [] [ここ壊れてます]
940 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 00:51:54.00 ID:zakr4cIe.net] なんでビルドツールっていつも怪物化しちゃうんだろうな makeがもう誰も手に負えない怪獣のくせにずっと定番に居座ってて、「Makefileを作るツール」が乱立してそれぞれ怪物化してるの勘弁してほしい
941 名前: mailto:sage [2018/08/21(火) 01:03:38.38 ID:Wpz7rvAB.net] >>911 >makeがもう誰も手に負えない怪獣 make ですら怪獣になるのだったら、他の高機能ビルドツールはとっくに破綻している現状だったのか!と、ふと
942 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 01:35:58.44 ID:mIqstMqN.net] makefileなんて複雑な事求めないなら手でかけるレベルだよ これが複雑で手に負えないとなると、プログラミングも怪しくなる
943 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 01:36:31.95 ID:Y1eCmHG/.net] ビルドについての教育がないがしろにされてるのが全ての元凶 ある程度以上の規模のプロジェクトを構成するベストプラクティスが示されているところを見たことがない 適当に好きなところから取ってきて動けばいいやくらいに改変して使ってるのが現状
944 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 07:06:57.27 ID:agJOmNk0.net] 丁寧に書いてるのはこれくらい。 ttp://aegis.sourceforge.net/auug97.pdf
945 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 11:19:53.91 ID:zakr4cIe.net] 複雑なことをしたいからビルドツールを使うわけでしてねぇ・・・
946 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 11:24:41.92 ID:mIqstMqN.net] したいという意思があるなら、がんばって理解も出来るだろう そこまでしなくても、最低限のルール覚えれば使える
947 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 11:53:12.22 ID:gERn4ySS.net] >>915 goto有害説をもじってるんだなw Makefileを書いていていつも思うのは ソースファイルの依存関係はソースファイルの中に書いてあるのに それをまた二度手間で書かねばならないのがイヤ 面倒くさいのはともかく間違えやすいから
948 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 12:20:54.13 ID:JvEAafEP.net] >>918 automake とか gcc -MM とかの話?
949 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 12:38:18.13 ID:Dn6CvPAP.net] rustとc++どっちも使ってる人いる?
950 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 12:59:21.72 ID:gERn4ySS.net] >>919 gcc -MMか、いいこと聞いた ありがとう
951 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 13:56:49.24 ID:Y1HyydAv.net] >>919 詳しい解説サンクス こんなのがあったのか
952 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 16:55:02.40 ID:59eaeAGG.net] >>917 ここで根性論とはセンスあるわ もちろんエンジニアでなく笑いの
953 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 17:26:56.17 ID:/1sxYxCd.net] エンジニアでなく園児にゃ
954 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 19:40:42.98 ID:Y1eCmHG/.net] WindowsでCMakeはfind_packageでだいたい詰む vcpkgで対応できなければ結局自分で書くはめになり、面倒くさくなってmingw使うかVSのプロジェクトと同居することになる
955 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 16:26:31.16 ID:BT6ndhEb.net] C++ とは直接関係ないけど make/Makefile は擬似ターゲットを使って バッチ的な定型処理を1個のファイルでまとめて管理できるのが便利でね。 make find WORD=... 全ソースから WORD= で指定した単語を含む行を検索、みたいな。 自分で作った便利ターゲットの使い方を usage: に書いとくのを忘れるけど。
956 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 17:38:28.37 ID:ua+EoSC8.net] >>926 perlでok
957 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 19:10:59.67 ID:lMaJ9TV4.net] C言語のビルドシステムならC言語で書けるようにするべきだと思うのだがよく分からない専用の言語を使わされるのは何故 この手のスクリプト言語は可読性がデバッガもないから中身を探るのが難しすぎる
958 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 19:27:23.21 ID:J6lVaoNe.net] 君がそれを作って公開してみれば良いと思うんだが
959 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 20:50:10.20 ID:4/HlUcDP.net] C++のビルドツールといえばboostでお馴染みのbjam 実質boost専用に作ってるだけなのにあんな聳え立つ糞の山になっちゃうんだからビルドツールって怖いね
960 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 22:31:38.77 ID:G7PvCZFg.net] ソフト名がまだ決まっていないけどプログラム開発がスタートするって一般的だと思うんですが、 こういうときってコードネームを付けますよね? このとき、VisualStudioのプロジェクト名もコードネームにしますよね? アプリのウィンドウキャプションとかはアプリ名が決まり次第反映させられますけど、 プロジェクト名は途中で変えられないので、そのままになってしまいますが、しょうがないですよね? 要は社内の開発で問題なければOKで、 リリースしたときにコードネームがどこかに混じってしまわないように気を付ければいいだけですよね? みなさんがどうされてるのか気になったのでお聞きしました。
961 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 23:03:51.57 ID:4/HlUcDP.net] 必要なら変えるよ slnやvcxprojはただのxmlだから名前変えるだけならそんなに難しくない
962 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 00:06:20.88 ID:0/a4zf/K.net] 英国ポエムシリーズでしょう bjam=ブージャムは言うまでも無く、パンジャンドラムすらも無論英国のポエムから採られた 他にも兵器界隈ではスナークとかが存在するのは周知の通り 日本だと仏教用語から採ればいいんじゃあないですかね
963 名前:931 mailto:sage [2018/08/23(木) 00:10:54.70 ID:U43QDDsh.net] >>932 なるほど〜、プロジェクト関連ファイルを編集することで名前を変えることはできるんですね。 なら気兼ねなく最初はコードネームにしときます。 ありがとうございました^^
964 名前: mailto:sage [2018/08/23(木) 22:00:21.31 ID:NMfUyUL+.net] std::ref() について教えてください void f(:ostringstream &os) { ... } int main() { ostringstream s; std::thread(f, std::ref(s)); ... とありましたが、なぜ呼び出し側で「おまじない」のstd::ref() が必要なのか理解できません どんなときに呼び出し側で std::ref() が必要なのでしょうか? テンプレート関係かと思いましたが https://ideone.com/7fF53F は問題なく、std::ref() が必要となるプログラム例を思いつくことができません よろしくお願いいたします
965 名前:さまよえる蟻人間 mailto:sage [2018/08/23(木) 22:17:07.10 ID:Z2Fii0dD.net] std::refの規格表とソースを見たか? 余計なコピーを抑制してるんだ。
966 名前:さまよえる蟻人間 mailto:sage [2018/08/23(木) 22:18:22.48 ID:Z2Fii0dD.net] s/表/票/
967 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 22:33:14.61 ID:/6RK1Hlx.net] 非参照なテンプレートな引数に一時変数を作らずに参照を渡せる
968 名前: mailto:sage [2018/08/23(木) 22:52:37.79 ID:NMfUyUL+.net] >>938 コメントありがとうございます コピーコンストラクタが禁止されている std::cout をテンプレート引数にわたす場合で理解できました(かもしれません) https://ideone.com/3eqEJY 一つ質問ですが、私なら、このプログラム例の y() template<class T> void y((*f)(), T &os) { ... } のように、テンプレートを書く時点で参照に書いてしまうのですが、 あえて非参照なテンプレート引数を書く「便利さ」みたいなものはありますでしょうか?
969 名前:デフォルトの名無しさん [2018/08/24(金) 02:37:15.13 ID:kcQyW4E+.net] 大阪はいたって平和 しょぼいにもホドがある
970 名前: mailto:sage [2018/08/24(金) 03:55:21.10 ID:A5L5xSI8.net] >>939 >あえて非参照なテンプレート引数を書く「便利さ」みたいなもの std::thread のコンストラクタを眺めていて気が付いたこと…これ、可変長テンプレートですね
971 名前: mailto:sage [2018/08/24(金) 04:17:14.78 ID:A5L5xSI8.net] x86 の cmpxchg を使いたくて、gcc 拡張の __sync_val_compare_and_swap() を試していました shinh.hatenablog.com/entry/20060817/1155781747 https://ideone.com/tpefmL c++11 に std::atomic::compare_exchange_weak() を見つけましたが、これは適当に(任意に) new で確保したヒープにも適用できるものでしょうか?
972 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 07:59:06.64 ID:ZkSPfVdV.net] 何で出来ないと思うの?
973 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 08:53:09.59 ID:/11s7nnG.net] template <typename T, typename... ARGS> class nested_error : public std::nested_exception, public ARGS... { public: nested_error(T const& t, ARGS const&... args) : T(t), nested_error(args...) //C3511 { } nested_error(T const& t) : T(t) { } }; 何かうまい手ない?
974 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 13:51:57.64 ID:rL3qzGy6.net] そりゃまー、実体化した内部ではTは決定済みだろうから無理だろう。 Anyつかうとか・・・。
975 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 14:24:43.54 ID:rL3qzGy6.net] あ、すまん。おかしなこと言った。 えーっと、変数が一個じゃ足りないな。 イニシャライザーリスト使うか、下位関数にキックするか。
976 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 15:05:48.05 ID:XmdDRLnv.net] そもそもコンストラクタの委譲は再帰禁止だったと思うが 別のクラステンプレートのメンバ関数とか関数テンプレートで再帰するしかないと思う
977 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 15:57:42.66 ID:rL3qzGy6.net] https://wandbox.org/permlink/KrUV4MTPdV0l4OoO 興味があったのでそれっぽいコード書いてみた。 これキャッチするの無理だろ。
978 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 16:53:35.24 ID:rL3qzGy6.net] そういえば、例外の時にメモリ確保したらなんか弊害あるんだっけ? 昔、例外投げるときはメモリが足りなかったりとかクリティカルな状況だからやめろって言われたような気がする。 どうやったっけ?
979 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 18:24:33.46 ID:/11s7nnG.net] >>948 なんか面白そうなのうpしてくれてありがとう すまん、今かなり酔っ払ってる 素面に戻ってからじっくり読むから ちょっと待ってて
980 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 18:56:26.92 ID:5ar3I1wr.net] >>948 つ catch(A<B, C> E)
981 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 19:23:40.93 ID:r5O9PJUC.net] >>949 > そういえば、例外の時にメモリ確保したらなんか弊害あるんだっけ? メモリー不足による例外発生時だとその例外処理時のメモリー確保自体が失敗するから例外処理(例えばログ出力)ができなくなるってこと
982 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:44:16.72 ID:rL3qzGy6.net] >>951 そらまー、引数がそれの時はできるけど、必ず把握はしてないでしょ。 >>952 あぁ、なるほど。ありがとう。
983 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:51:49.46 ID:cO/mJ1mq.net] >>952 メイヤーズ本に簡単な回避テクが書いてある 希ガス
984 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:52:40.48 ID:cO/mJ1mq.net] 真にご法度なのはデストラクタの中での例外発生なんじゃ…
985 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 21:06:57.48 ID:tfF8aOe1.net] >>953 951だけど、何したいのか分からない。 catch (decltype(X) E) ならええの?
986 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 22:12:01.59 ID:rL3qzGy6.net] https://wandbox.org/permlink/uEH5L9KBV9L1BdYn うはー、気が向いたから、コンストラクタに推論させようと思ったら手間食った。あー疲れた。 しかし、理解が深まって良かったかな。うえー。 >>956 投げた本人ならできるけど別のところから飛んできたやつはつかめなくない?
987 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 22:26:38.94 ID:rL3qzGy6.net] しかし、色々試したが結局うまくいかず、解説ページの死角にぽろっとあるのが最高にリアル。
988 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 23:19:11.18 ID:5ar3I1wr.net] >>957 例えばA<B, C>とA<D>は全く別の型なのだから、どっちの型が飛んでくるかわからないのに両方catchするのは無理でしょ。 Base型で試そうとした痕跡があるけど、catchした先でA<B, C>またはA<D>の関数を呼び出そうとしているからそれもできない。 「別のところ」から飛んでくる例外の型はコンパイル時には確定しているのだから、メタプログラミングが通常やるように、「別のところ」のテンプレ引数でthrowする型を決定できるようにすればいいんじゃね?
989 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 23:23:12.69 ID:rL3qzGy6.net] >>959 うん。多分それで困ると思う。>>944 が! メタプロやらないから可能性は感じるけど限界がわからない。 まぁ、俺は興味で書いただけだから、>>944 がどうするかはシラネ・・・。
990 名前:デフォルトの名無しさん [2018/08/25(土) 23:24:09.84 ID:Efgla6YW.net] >>939 >あえて非参照なテンプレート引数を書く「便利さ」みたいなものはありますでしょうか? threadの場合デフォルトで参照だとdata raceを気づかないで起こす可能性が上がる。 設計としてスレッドの引数はコピーして渡すほうが安全性は高い。 一般論で言えば一時オブジェクトを受け取るならconst&になるけど、 これだとmoveできないので逆に性能が劣化する場合がある。
991 名前:デフォルトの名無しさん [2018/08/25(土) 23:32:37.06 ID:Efgla6YW.net] 最近の提案なんかではメモリ確保失敗は回復が難しく一般的な例外とは 区別して考えるのが合理的なんじゃないかって話が出てきてる。 んで新しく静的な例外を導入しようっていう話が上がってる。
992 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 23:39:53.83 ID:rL3qzGy6.net] >>962 コンパイルタイムで例外わかるんだったら、普通にコンパイルエラーにしよ?
993 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 23:47:31.99 ID:cO/mJ1mq.net] メメント・メモリ
994 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 02:56:15.82 ID:zhFpXu2e.net] ヒープが無くなったら、HeapCreateで作れば良いのに。 by マリー・アンチョワネット
995 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 14:06:36.91 ID:Q8b2w7YQ.net] メモリがどれくらい必要なのか簡単に静的解析できたらいいなあと思うけど 再帰関数のメモリ消費量とか計算難しそう
996 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 14:10:00.99 ID:BwlGzYMc.net] mcc68kなんかは-Sでアセンブラ出力させると コメントにスタック使用量を入れてくれてたな
997 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 19:26:38.30 ID:OiuVvKbz.net] 割り込みになるけどちょっと質問させてください struct hoge { int a, b, c; }; auto a = hoge{1, 2, 3}; auto b = int[]{1, 2, 3, 4}; aみたいに型を明示して中括弧でくくった一時オブジェクトは作れるけど、 bみたいに配列を明示して作ることって出来ないですかね? 単に文法上の質問なんで「やる必要あるのか」とか「std::array使え」とか「構造体でラップしろ」は無しでお願いします
998 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 19:31:13.94 ID:Ws2ZfrVi.net] int[]は int * のシンタックスシュガー
999 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 19:34:14.95 ID:OiuVvKbz.net] int[4]でもだめだったんですよね・・・・ というか今思いついて(int[4]){1, 2, 3, 4}でやったらいけました お騒がしてすみませそ
1000 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 20:05:48.84 ID:qnZA5cjL.net] auto b ={1, 2, 3, 4};
1001 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 20:12:01.81 ID:2rP1aXG6.net] >>970 それはC99の複合リテラルになるけど、C++で使ってよかったっけ?
1002 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 20:19:57.43 ID:qnZA5cjL.net] warning: pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression [-Waddress-of-array-temporary]
1003 名前:デフォルトの名無しさん [2018/08/26(日) 20:21:33.00 ID:hANAm2gW.net] https://ideone.com/A9Bccy #include <stdio.h> int main() { int* b1 = {1, 2, 3, 4}; int b2[4] = {5, 6, 7, 8}; int b3[] = {9, 10, 11, 12}; fprintf(stdout, "b1:%u\n", sizeof(b1)); fprintf(stdout, "b2:%u\n", sizeof(b2)); fprintf(stdout, "b3:%u\n", sizeof(b3)); return 0; } https://ideone.com/rJw9cK #include <iostream> using namespace std; int main() { // int* b1 = {1, 2, 3, 4}; コンパイルエラー int b2[4] = {5, 6, 7, 8}; int b3[] = {9, 10, 11, 12}; // cout << "b1:" << sizeof(b1) << std::endl; cout << "b2:" << sizeof(b2) << std::endl; cout << "b3:" << sizeof(b3) << std::endl; return 0; }
1004 名前:デフォルトの名無しさん [2018/08/26(日) 20:22:49.21 ID:hANAm2gW.net] c b1:8 b2:16 b3:16 c++ b2:16 b3:16
1005 名前:デフォルトの名無しさん [2018/08/26(日) 20:27:01.66 ID:hANAm2gW.net] うん やっぱり このスレにもアホしかいない
1006 名前:さまよえる蟻人間 mailto:sage [2018/08/26(日) 20:28:44.90 ID:Vxoswi+g.net] >>976 自分が天才だと思っているなら、こんなところで遊んでないで、なんか凄いソフトを作ってくれよ。
1007 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 20:31:31.48 ID:BwlGzYMc.net] レス番が飛んでるなあ
1008 名前:デフォルトの名無しさん [2018/08/26(日) 20:31:32.32 ID:hANAm2gW.net] オレは自分を天才とか思ってない オレは天才じゃないが普通の人間だ この板にいる低学歴知恵遅れが まともじゃないのがヤバイといってるワケ 教育の程度や知能に大きな問題があるといってるわけ しかもその自覚がない まずまともな人間になるところから
1009 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 20:44:37.30 ID:qnZA5cjL.net] 誤解したまま帰った? auto a=(int[4]){1,2,3,4}; for(int i=0;i<4;i++) { printf("%d \n",a[i]); } 出力 0 0 0 0
1010 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 21:13:55.49 ID:OiuVvKbz.net] あー、すみませんautoって書いたのがまずかったですね 試してみたんですが、実際にはコンストラクタに渡すので大丈夫でした autoだと配列の一時オブジェクトへのポインタになるからまずいですね
1011 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 21:54:34.00 ID:7VGl0ROF.net] >>981 autoでなくても不味いよ
1012 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 22:13:43.13 ID:zpiwFHmU.net] >>977 ほんこれ
1013 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 22:53:29.24 ID:OiuVvKbz.net] >>982 なにがどうまずいですかね?
1014 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 08:18:57.12 ID:YiUsgylF.net] まったりとしてコクが無く、魚介類の生臭さを濃縮したような スープと同じぐらい不味い
1015 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 13:42:16.09 ID:QRiCvp9j.net] きも
1016 名前:944 mailto:sage [2018/08/27(月) 13:55:56.63 ID:vY3QDx2y.net] >>948 お待たせ 俺っちの質問はnested_exceptionを使うケースなので、 948のコードでいうとBaseを多相的クラスにしといて catch(Base&)で捕獲し、dynamic_castでBやCへの アクセスを試みるというようなことだ ところで template<class... Ts> overloaded(Ts...)->overloaded<Ts...>; これが読めん、何やってるのか教えてくれんか
1017 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 14:09:13.11 ID:vY3QDx2y.net] >>955 std::uncaught_exceptionというのがあるね
1018 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 14:23:40.86 ID:QRiCvp9j.net] >>987 クラステンプレートの引数の推論補助(deduction guide
1019 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 14:26:19.85 ID:vY3QDx2y.net] >>989 deduction guideね、thx
1020 名前:さまよえる蟻人間 mailto:sage [2018/08/27(月) 15:42:34.96 ID:JbKLTkj/.net] 次スレ頼む
1021 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 16:02:51.38 ID:r/wp9j7z.net] わたくしがC++で書き上げた超高性能次スレ立てマシーンなら次スレなんて一発ですよ
1022 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 16:03:14.62 ID:vY3QDx2y.net] 立てたよ https://mevius.5ch.net/test/read.cgi/tech/1535353320
1023 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 01:49:58.08 ID:rjIDuLFn.net] スレ番インクリメント機能はC++でも実装不可能なまでに困難な作業だったか
1024 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 06:13:26.80 ID:UQgP5OTn.net] スレ立てが競合した時の排他制御を実装してくれ
1025 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 06:22:11.76 ID:XE/KW9kf.net] 板復帰(OK!:Gather .dat file OK:moving DAT 703 -> 686:Get subject.txt OK:Check subject.txt 703 -> 690:Overwrite OK)0.84, 0.77, 0.74 age subject:690 dat:686 rebuild OK!
1026 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 20:40:17.99 ID:fGjEV9Ei.net] 997
1027 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 20:40:50.96 ID:fGjEV9Ei.net] 998
1028 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 20:41:19.69 ID:fGjEV9Ei.net] 999
1029 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 20:41:56.22 ID:fGjEV9Ei.net] 1000
1030 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 45日 2時間 48分 54秒
1031 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています