C++相談室 part137

■ このスレッドは過去ログ倉庫に格納されています
2018/07/14(土) 17:53:02.14ID:FOAGvAbs
次スレを立てる時は本文の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】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)

----- テンプレ ここまで -----

VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
81デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:36:56.10ID:1ys/w/8R
ちなみにファイルはUNIXでは
ブロックデバイスだからな

そのブロックデバイスをセクタ単位で
効率的に読み込むためにはどうすればいいか

あとはもう分かるな

このスレにいるサル並の知能しかないようなヤツラ以外なら
わかるハズだからな
82デフォルトの名無しさん
垢版 |
2018/07/15(日) 18:02:19.58ID:1ys/w/8R
まずストレージというハードウェアが
OSでどうやって抽象化されてるか
わかってないからな

こんな頭悪いヤツラが抽象化とかなんとかいってるワケ
きっとな前スレのソースの注釈で書いたwindowsで、キャッシュなしでReadFile呼ぶ時は
セクタの倍数単位でないと使えないという意味も分かってない

ともかくこのスレに居ついてるヤツラは頭悪い
基本的なことが分かってないからな

まずなバカはこのスレで相談することが
バカな行為であることに気付かないといけない
バカななに聞いてもムダ
的外れなコタエしか返ってこない
2018/07/15(日) 18:16:38.79ID:F1eG7opL
>>80
> FILEポインタ使ってfreadしか使わないなら、はっきりいってfread使うメリットはまったくない

メリットはあるでしょ。システムコールのreadやReadFile()と違い、
FILE*を使ったfread()はアラインメントを無視した小さいバッファサイズで読み込んでも全体としての速度低下が起きにくい恩恵がある。
2018/07/15(日) 19:07:48.62ID:lbsq5rUe
13Gログ解析野郎と半角野郎が毎度毎度必ずコンビで出てくるのは何なんだろうなー
おっかしいなー

「ぼくちんのログ解析ソフトをぼくちんが考えた最強の名無しが作るスレ」でやってどうぞ
85デフォルトの名無しさん
垢版 |
2018/07/15(日) 20:22:05.00ID:1ys/w/8R
低学歴で知能低いのが答えられる質問の範囲なんかたかがしれてる
知恵遅れでも回答できる質問に限定される

こういうヤツラはYahoo知恵遅れがお似合い
もうね2ちゃんねるのクオリティーも著しく低下したもんだわ

著しくレベルの低い質問なら回答できるワケだからな
情報として保存される価値すらない
ゴミ質問とゴミ回答
86デフォルトの名無しさん
垢版 |
2018/07/15(日) 20:27:33.82ID:1ys/w/8R
昔ならググレカスでおわるような質問を
どやがおで低学歴知恵遅れが回答するスレがココだからな

低学歴知恵遅れが活躍できる場所はココしかない

オレのナワバリを荒らすなと低学歴知恵遅れが
主張している
2018/07/15(日) 20:39:19.46ID:oGr67yTf
あぼーん設定推奨
[ヲ-゚]
88デフォルトの名無しさん
垢版 |
2018/07/15(日) 22:46:04.59ID:GtfCPRC1
POSIXの制限に起因するパフォーマンス低下を回避するためのドライバをさっき見たばかりだな。
ハイパフォーマンスの世界にはそういうのもあるんだな。
2018/07/15(日) 23:08:51.14ID:ugn7dRUi
>>85
解析のコード書けたの?
お前が全部作ってアップすればそれで終わる
90デフォルトの名無しさん
垢版 |
2018/07/16(月) 01:21:00.28ID:6luw5g3K
とりあえずファイルすべての字句解析と
最低限のデータ取得できるとこまではできた
※ あとはデータを格納するだけ

テストデータのジェネレータを修正した
https://ideone.com/NWdMmL

で、とりあえず作ってみた解析のコードが↓コレ

https://ideone.com/E6QH2r

プリプロセッサにDEBUG_WRITEの定義を追加してやれば
データ取得できてることがダンプして確認できる

※ ダンプする場合は、ファイルにリダイレクトするにしても
※ 物凄い時間かかるし、物凄いディスク容量をとるから小さいテストデータでやるほうが
※ とりあえず無難

ものすごい単純なコードプロトタイプになってるから
バカでもチョンでも簡単に整理や作りかえができるようにはなってる

※ 処理内容はコードみたまんまのハズだ
※ 同じような処理がひたすら書かれてる
※ QQがなくなればめっちゃコード減るハズ
※ コードのほとんどはQQのムダ処理
2018/07/16(月) 01:37:37.27ID:RYaEyvne
うわっ
汚いコード
2018/07/16(月) 10:44:37.38ID:526Z5Rhh
15GBのテキスト解析8.6秒のマシンで
>>90の時間を計ったら54秒でした。
ファイルアクセスの時間は除いた純粋な解析処理です。

これがプロとアマチュアの差ですか。
まあ54秒でも使えるレベルではあると思うんで
これで良いんじゃないですかね?
2018/07/16(月) 11:29:13.12ID:80hpbb9v
OS のAPI を、直接呼んではいけない。
例えば、1バイト読み込みを千回やれば、千回API が呼ばれる。
ユーザーモードからカーネルモードへの、コンテキストスイッチが千回

一方、バッファリングしている、C のライブラリを使えば、
千バイト1回の読み込みで済む

ライブラリが抽象化している。
buffering stream

ユーザー → (ライブラリ) → API
2018/07/16(月) 11:39:40.02ID:774eW9FT
>>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型のポインタ)に代入したつもりだったのですが、
もしかして実体がコピーされているのでしょうか?

>つづく
2018/07/16(月) 11:41:24.00ID:774eW9FT
続けて >>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

みなさんキャッシュの話をされていて、その辺がまだあまり理解できていないのですが、
文字列解析時にはキャッシュから取り出して参照するため時間は増えるということですかね。
2018/07/16(月) 11:50:33.56ID:774eW9FT
あと、freadだけで2秒のものに、freadの後にからなず fseek(fp, -10000, SEEK_CUR) を実行してみましたが、
処理時間は2秒で変わりはありませんでした。

これらのことから >>94 で書いている

88行目: data = real_data;

のせいで2秒から25秒に増加しているようです。
2018/07/16(月) 15:13:00.28ID:774eW9FT
>>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
98デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:37:46.05ID:6luw5g3K
かわりがないとか
んなわけがないからな

先にいっておくが
ちなみにオレのコードより
おなじところまで解析できる処理を
速い速度で作れるヤツはまずいないからな

作れるもんなら作ってみればいいわ
99デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:40:29.53ID:6luw5g3K
ちなみにDEBUG_WRITEを定義に追加したら死ぬほど遅いからな
ちゃんとDEBUG_WRITEをとって計測してるのかすら怪しい

バカが書いたコードより間違いないなく速いハズだからな
2018/07/16(月) 15:48:01.58ID:80hpbb9v
同じデータで、2回テストしても、

1回目は、HDD からメモリへ読み込むけど、
2回目は、既にメモリ上にデータが存在するから、HDDから読み込まない。
メモリキャッシュから読むから、HDDの読み込み速度とは違う

だから、2回目のテストの前に、
メモリキャッシュをすべて破棄しておいてから、テストをしないといけない
101デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:49:56.51ID:6luw5g3K
コレで他のより遅いというなら
オレはもうバカの相談には二度とのらないし
コレ以上のコードは書かない

ほぼ限界まで速度が出るようにチューニングしてるハズだからな

評価のしかたが分かってない
2018/07/16(月) 15:51:18.48ID:fNWu8+xr
>>98
>>92
103デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:51:33.68ID:6luw5g3K
だからコードあげろよ
2018/07/16(月) 15:52:15.83ID:fNWu8+xr
ザコ
105デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:52:15.93ID:6luw5g3K
シロウトは口だけだからな
クソニートのシロウトが口をはさむ余地なんかない
106デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:53:09.83ID:6luw5g3K
ザコはオマエだろ
クソニートのザコはコードあげずに
何秒とかいってるだけだからな
2018/07/16(月) 15:55:20.94ID:fNWu8+xr
数値への変換、何で標準ライブラリ使うのやめたの?
速いんでしょ?
www
2018/07/16(月) 15:55:41.81ID:fNWu8+xr
fgetsも何で使うのやめたの?
速いんでしょ?
109デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:57:13.10ID:6luw5g3K
読み込み速度で問題
そしてポインタをひたすらインクリメントだけして
ひたすら最小限の参照するだけの処理より速い処理なんか
逆立ちしてもかけるワケがないからな
110デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:58:16.80ID:6luw5g3K
fgetsはシロウトが使っても概ね良好な結果が約束されてる
2018/07/16(月) 16:01:19.01ID:fNWu8+xr
>>109
だからお前はザコ
112デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:03:00.33ID:6luw5g3K
クソニートがいきがってるしな
オレが書いたコードを超える速度がでるコードを
まずあげてみろよ

話はそこからだからな
113デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:03:52.50ID:6luw5g3K
クソニートはテキトーなことばっかりいって
口だけだからな
2018/07/16(月) 16:03:56.64ID:fNWu8+xr
糞コードがなぜ糞か
どこで時間がかかるのか
それくらい自分で調べよう
115デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:04:43.29ID:6luw5g3K
だからクソニートはコードあげろよ
オレのコードにムダは一切ない
2018/07/16(月) 16:05:18.19ID:fNWu8+xr
8.6秒のコードも
まだまだ改善の余地があるから
117デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:05:51.54ID:6luw5g3K
だからクソニートは口だけ8.6秒のコードをあげろよ
2018/07/16(月) 16:06:30.96ID:fNWu8+xr
まあせいぜい頑張ってね
ザコ
119デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:07:20.43ID:6luw5g3K
オマエはクソニートだからな
クソニートはコードの速度の心配をするまえに
自分の心配をしたほうがいい
120デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:22:48.03ID:6luw5g3K
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

バカが試験してシステムコール呼びだしのオーバヘッドの評価なんかすでに評価済
(システムコール呼びだしのオーバヘッドの評価なんか、バッファサイズを変更による推移をみれば簡単に評価できる)
2018/07/16(月) 16:28:07.89ID:fNWu8+xr
まだキャッシュに入ってる前提でテストしてるの?
アホなの?
122デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:30:26.25ID:6luw5g3K
また低学歴知恵遅れのクソニートがテキトーなこといってるからな

キャッシュにのってるなら
オレのエレガントなコードを除いたすべてのクソコードも同じキャッシュがのった条件で
試験されてるわ
123デフォルトの名無しさん
垢版 |
2018/07/16(月) 16:31:48.69ID:6luw5g3K
低学歴知恵遅れのクソニートってテキトーなこといって
なんかいった気になる

社会参加しないクソニートが2ちゃんねるで政治の話をするのと似てる
2018/07/16(月) 16:31:59.31ID:fNWu8+xr
まず54秒をどうにかしろよ
2018/07/16(月) 16:33:40.35ID:fNWu8+xr
1秒〜2秒なんてどうでもいい

キャッシュに無い時の読み込み時間
解析時間

これをどうにかしろよ

意味の無い所に時間をかける典型的なアホ
2018/07/16(月) 16:34:35.04ID:fNWu8+xr
木を見て森を見ず
2018/07/16(月) 16:44:07.58ID:774eW9FT
今 >>90 の解析コード見てますがseekを使わずreadで連続して読み込むところがとても参考になります。
こうやって読み込むんですね。
2018/07/16(月) 16:54:07.55ID:fNWu8+xr
いろいろとパクってるね
129デフォルトの名無しさん
垢版 |
2018/07/16(月) 18:00:25.42ID:6luw5g3K
オマエはまずオレのエレガントなコードを参考するまえにな
この愚かなコードをどうにかしたほうがいい

unsigned char real_data[BUF_SIZE+1];
size = fread( &real_data, sizeof(real_data[0]), BUF_SIZE, fp);
data = real_data;

遅いどころかそもそもちゃんと動作すらするワケがない
マジでな、オマエは今までなにをやってたわけ?

小一時間問い詰めたいわ

はっきりいうわ
オマエ、才能ない
130デフォルトの名無しさん
垢版 |
2018/07/16(月) 18:05:36.68ID:6luw5g3K
オレが引用したオマエのコードが
なんでお話にならないくらいダメなのか
理由が分からないならオマエはCをさわらないほうがいい

コレはいいきれる

速く動作させたいとか以前の問題だからな
2018/07/16(月) 18:29:34.88ID:fNWu8+xr
エレガントなコードwww
糞汚くて激遅なコード

お前は偉そうに語れるレベルじゃない
2018/07/16(月) 18:30:40.10ID:fNWu8+xr
ザコはザコらしくしてろ
2018/07/16(月) 18:34:38.20ID:fNWu8+xr
テキトーに作った1作目
前スレの>>851の24.3秒
の倍以上の時間で
もうネタ切れのザコ
134デフォルトの名無しさん
垢版 |
2018/07/16(月) 18:58:39.51ID:6luw5g3K
ごちゃごちゃいってないでな
クソニートはオレより速くできるコードをあげたらどうだ

クソニートが邪魔でしょうがない
2018/07/16(月) 19:00:10.74ID:r07bWXyg
何の邪魔?
5chで名を上げようとでも思ってるの?w
136デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:02:42.71ID:6luw5g3K
どうでもいいが
クソニートは邪魔しかしないからな

オレのエレガントなコードに嫉妬してるワケ

まちがいなくオレのコードより速いコードなんかかけるワケがないからな
137デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:04:00.40ID:6luw5g3K
クソニートはこうやって社会と接点ももったつもりになってるワケ
分かりやすい

ニューススレなんかに湧いてくる社会参加してないクソニートとそっくりといっていい
138デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:05:41.08ID:6luw5g3K
ココは相談スレだからな
まちがいなくクソニートは相談スレの邪魔をしてる
2018/07/16(月) 19:12:14.13ID:r07bWXyg
自己紹介乙
140デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:13:02.52ID:6luw5g3K
もうね図星つかれて
顔真っ赤だからな

ホントな分かりやすいわ

分かってしまうのが怖いわ
141デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:15:40.86ID:6luw5g3K
だいたい分かる
登校拒否児のまま高齢ニートになったようなのが
このスレにはウジャウジャいる

低学歴なまま精神的に大人になってないような知恵遅れの典型的なレスパターンだからな
いわゆるヒキコモリというヤツだ
2018/07/16(月) 19:20:00.33ID:r07bWXyg
ID真っ赤なのは唯一人
143デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:29:45.75ID:6luw5g3K
クソニートは相談スレに参加できるレベルに達してないからな
いままで参加できてると錯覚してたワケ

参加できないからIDが赤くなるまでレスもできない
ホンモノのプロフェッショナルなオレがくればこうなる
知恵遅れがオレスゲーできない

唯一の自分が社会と接点をもててると錯覚してる唯一の場所が
オレに乗っ取られたワケ

くやしいの?
2018/07/16(月) 19:32:29.15ID:r07bWXyg
ホンモノのプロフェッショナルなオレ
ホンモノのプロフェッショナルなオレ
ホンモノのプロフェッショナルなオレ
ホンモノのプロフェッショナルなオレ
ホンモノのプロフェッショナルなオレ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2018/07/16(月) 22:04:34.63ID:KaFNK61g
最近バーチャル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
146デフォルトの名無しさん
垢版 |
2018/07/16(月) 22:56:02.09ID:6luw5g3K
とりあえず、バカでも使えて修正できる
パーザーのクラスのサンプルでも気が向いたら作っといてやるわ

こんなもんデータを全部格納できるワケがないからな

今の解析コードのサンプルでも位置とサイズの情報はガッチリとってるから
いくらでも改良できる
オレみたいなプロフェッショナルになると、こんなことハナから予見できてるワケ
2018/07/16(月) 23:55:04.74ID:k7Gq2lBS
>>94-97
「ぼくちんのログ解析ソフトを半角さんが作ってくれるスレ」を立ててそっちでやってくれないか
2018/07/17(火) 04:14:16.72ID:eLk9EV06
パーザーw
2018/07/17(火) 12:14:32.32ID:laha5pLP
頭がパーザー
150デフォルトの名無しさん
垢版 |
2018/07/17(火) 14:06:01.71ID:I4a/6mEU
>>146
今のサーバはメモリに多少余裕があるから全部メモリに格納しようと
思ってましたが、よく考えると数人同時に使ったり他の低スペックサーバを
使うことを想定すると確かに名称、テキスト、数値の番号と位置など
最低限の情報だけ拾ってその都度ファイルにアクセスした方が
他の人に迷惑がかからず良さそうです。

気が向いたらよろしくお願いします。
自分でも検討してみます。

>>147
相談しっぱなしは悪いと思い、色々調べた結果を出してしまいました、すみません。
2018/07/17(火) 17:51:00.62ID:rBemJlfB
悪いと思って無いだろ
2018/07/17(火) 18:31:14.54ID:0lwIt+yt
消えろ
153デフォルトの名無しさん
垢版 |
2018/07/18(水) 18:38:21.90ID:zAL/THKp
ハイ、謝罪と賠償の要求いただきました!
みんなー、謝罪と賠償の要求出たぞー!
2018/07/18(水) 19:24:54.30ID:xHEVxC3Y
ごめんなさい
100円
2018/07/18(水) 19:48:18.30ID:IL3iPWys
パーサーもパーザーも間違いではない。
2018/07/18(水) 19:51:38.49ID:xHEVxC3Y
はいはいwww
157デフォルトの名無しさん
垢版 |
2018/07/18(水) 22:02:52.32ID:L914sbje
int a;
if( hoge ){
const a = 1;
}
else{
const a = 2;
}

とすると不安定な動きをするのですが、
このコードは許されないのでしょうか。
2018/07/18(水) 22:17:00.15ID:WhjAyW4L
許される
2018/07/18(水) 22:28:45.28ID:4KYHyXSz
const a = 1; ってなんぞ??と一瞬思ったがintが省略されてるのか
それブロック内ローカル変数だから、外のint a;には関係しないよ
>157に書かれてるところは許されるけど、
書かれてないところでint a;を使ってたらそりゃ不安定だろうね
2018/07/20(金) 17:29:54.53ID:j7YVAWUD
不安定な動きはしないと思うが
ルールがわかってないだけで
2018/07/20(金) 18:06:32.94ID:TP/FZeZJ
外側のaを初期化してないから不安定になる可能性はある。
2018/07/20(金) 18:38:08.70ID:obfOsgMS
aを不定なまま使えば不安定になるかも知れないが
>>157のコードだけならなにも問題ない

>>157の回答としては
「許される」が正解
2018/07/20(金) 21:07:42.21ID:0P/bZCls
許すのは誰なのかというところから(ry
2018/07/20(金) 21:08:02.97ID:j7YVAWUD
コンパイラ様
2018/07/20(金) 21:15:25.57ID:MVqkCRqy
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を使おうとして「不安定な動きをする」
2018/07/21(土) 03:52:30.13ID:ZZ4YytrN
コンパイラ様は、代金を支払うお客様より偉いのか。
2018/07/21(土) 07:09:59.33ID:CT2MO4Nk
機械は偉さで動いてはいない
2018/07/21(土) 07:12:46.06ID:d0oYLoM2
そのうち褒める褒めないで動作が変わるようなAIコンパイラが出てくる
2018/07/21(土) 07:16:56.35ID:ZZ4YytrN
もうしわけない。金毘羅様に言及すべきだったのにそうしなかったのが情けない。
2018/07/21(土) 11:56:28.78ID:KXd0ss1Q
警告オプション有効にして助言をもらおう
> warning: variable 'a' is uninitialized when used here [-Wuninitialized]
2018/07/21(土) 12:20:29.40ID:RLP8Sp1U
C++勉強するたびに嫌いになってきて草
2018/07/21(土) 12:23:02.98ID:L4ZstKjT
そんなのは道楽でC++やってるあまちゃんのたわごとだ
俺なんかは最初からC++以外に用意されてなかった
2018/07/21(土) 12:34:14.56ID:Zy/M/93a
c++はできるだけの範囲で出来るだけのことをやればいい
意欲があればさらに進めばいい
むりして難しいことをやらなくてもいい
c関数での文字列の処理が嫌ならstring使えばいい
楽なところは楽でいい
2018/07/21(土) 13:42:42.85ID:V/L9XjgX
template <typename TypeA, typename TypeB> void TempSet(TypeA* Obj, void (TypeB::*Method)())
{
*Obj->*Method;
}

これがエラーでコンパイルできないんですが、
TypeBのメンバ関数呼び出すのはどうやればいいんでしょうか?
TypeAはインスタンスのオブジェクトポインタです
175デフォルトの名無しさん
垢版 |
2018/07/21(土) 13:44:42.66ID:gIfo2zic
でも++が一番ストレスなく組めると思う。
2018/07/21(土) 13:53:05.91ID:0t9tN8g5
>>174
TypeA はTypeBの間違いで、
Obj->Method();
でないの?
2018/07/21(土) 14:00:56.99ID:0t9tN8g5
おっとこうか
(Obj->*Method)();
2018/07/21(土) 16:20:10.80ID:FasZjosd
>>177
なるほどそれですね、ありがとうございます。
179デフォルトの名無しさん
垢版 |
2018/07/21(土) 18:50:32.76ID:yF+tsqCG
VMWare使ってLinux入れてみた
貧弱なPCでめちゃくちゃ重すぎるがコレで普通にコンパイルはできる
いままで黙ってたがMSのコンパイラでコンパイルしてたからな

やっとオレの芸術的なパーザをコピペで作る準備が整った
2018/07/21(土) 19:53:50.78ID:IjOYQkhe
やっぱワッチョイ必要だな これ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。