C++相談室 part140

■ このスレッドは過去ログ倉庫に格納されています
2019/01/13(日) 05:56:22.70ID:9RrR7Arz
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/

■長いソースを貼るときはここへ。■
 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
2019/02/06(水) 18:57:19.55ID:cXGNS95r
>>572
もっとも有害なのはごく稀な場合を引き合いに出して一般論を否定しようとするやつ
2019/02/06(水) 18:58:32.19ID:ytX3d0vu
江添さんディスってやるなよw
2019/02/06(水) 19:15:14.64ID:1tCLVB4W
ほらね
「ごく稀」というまさに思い込み
しょっちゅうとは言わないが、無視できるほど少なくもないよ
分野にもよるだろうけどさ

プログラムって結局現実の問題を解決するツールなんだから
現実世界の汚さも表現しないといけないんだよ
汚物を表すコードは汚物に見えるべきであって、見せかけで綺麗なフリしようとしたって失敗するしいいことは何もない
2019/02/06(水) 19:18:24.90ID:cXGNS95r
>>575
残念ながら全体から見れば極々稀なのだよ
偶然君の関わったとこがやりにくかっただけだろう(それか単に分析スキル不足)
2019/02/06(水) 19:27:52.65ID:JChC73Df
ID:cXGNS95rが言ってる稀ってのは、
「処理単位に切れる再利用しやすいループ」でない、依存性の強いループが稀だと言いたいのか?
2019/02/06(水) 19:33:09.12ID:Uzc23Z4W
実際のところ、5重ループってインデントが深くなる以外に何か問題あるの?
579デフォルトの名無しさん
垢版 |
2019/02/06(水) 19:53:38.31ID:tVubCuJx
五つの状態変数を把握しないといけない所。
不定のタイミングでバグが起きて、他人の書いたそれを時間に追われて読まねばならん。
2019/02/06(水) 20:06:21.69ID:cXGNS95r
>>577
単一の責務で何重にもループすることは稀と言ってる
2019/02/06(水) 20:07:36.88ID:Uzc23Z4W
それ、関数に切り出して5重ループを無くしたら解消するものなの。
2019/02/06(水) 20:08:15.91ID:cXGNS95r
するよ
2019/02/06(水) 20:40:44.38ID:Uzc23Z4W
いや、すまん。お前に聞いたんじゃねぇ。
2019/02/06(水) 20:44:39.52ID:y0lrsHx+
ここまで意固地になって関数化することを否定する意味がわからん。
2019/02/06(水) 20:56:05.35ID:3iJRb7MF
書きたいように書け

以上
2019/02/06(水) 21:10:48.59ID:M+a7jld1
ループの深さだけじゃないよねジッサイの判断ってのは
幅というか
リズムが単調で深いだけなら
for (int i = 0; i < a; i++)
 for (int j = 0; j < b; j++)
  for (int k = 0; k < c; k++) foo(i, j, k);
こーいうのはたぶん許容されるでしょ

そうじゃなくてよくあるのは
for (int i = 0; i < a; i++) {
 // 何行も何行もうじゃうじゃ
 for (int j = 0; j < b; j++) {
  // 色んな変数散らかしつつうじゃうじゃ
  for (int k = 0; k < c; k++) {
   // ifとか入りながら行数増やしつつうじゃうじゃ
  }
 }
}
こーいうのが我々を苦しめるわけで
2019/02/06(水) 21:45:43.76ID:JChC73Df
関数化するかどうかというのはループの深さがどうこうという基準ではないだろう、と
>>586みたいなのも、再利用しようがなく、アルゴリズムの単純化もそれ以上出来ないならそのままであるべきだろ
関数化すりゃいいってもんじゃない
2019/02/06(水) 22:07:06.24ID:TVKvnrTY
fooって関数だろ
2019/02/06(水) 22:07:14.67ID:HAC9I//j
どうしようもなく分割統治できない感じのアルゴリズムの例って何かあるのかね。
2019/02/06(水) 22:40:02.49ID:cXGNS95r
>>587
だから何度も言ってるが責務次第なんだよ
君みたいにループの形式だけ見てメソッド化するしないを判断するのはダメ
君はまだ表面的なことしか見えてない
2019/02/06(水) 23:09:01.70ID:JChC73Df
>君はまだ表面的なことしか見えてない
何様だよお前
>>587読んだ上で言ってんのか
2019/02/06(水) 23:11:42.95ID:JChC73Df
ループの深さがどうこうじゃないと言ってんのにループの形式だけで判断?
お前偉そうに人を初心者呼ばわりしたいだけだろ
2019/02/06(水) 23:11:46.32ID:3iJRb7MF
C++は宗教だから異なる宗派同士がわかりあえることはない
不毛な議論
2019/02/06(水) 23:58:01.47ID:ytX3d0vu
せやな
2019/02/07(木) 00:29:29.04ID:jeiltBqQ
>>504
ありがとうございます。たしかにできました。ただそれだけでな呼び出しも
return Class<T, U>::f2<E>(x, y);
から
return Class<T, U>::template f2<E>(x, y);
に変更する必要がありました。
template ←これがどういう役割なのかわかりませんが。
f2が何かと曖昧さを回避する役割があるのかと思いますが、
何と曖昧なのかよくわからないところです。
2019/02/07(木) 00:36:56.13ID:FsbblVW+
この板の1日の訪問者数って、学校の1クラス程度なの?
2019/02/07(木) 00:43:20.80ID:BE/93ARs
>>595
テンプレート内では、型の後の::に続くテンプレートがテンプレートであると
示してやらないといけないらしい
非テンプレートな関数内なら省略できる
>>384も同じ理由
2019/02/07(木) 00:47:59.60ID:EjTN/ClM
>>579
おまえ状態変数の意味分かってないだろwwww
2019/02/07(木) 01:15:09.76ID:jeiltBqQ
>>597
なるほど。何をしなければいけないかはわかりました。ありがとうございます。
しかし、どうしてこうなっているんでしょうね。
2019/02/07(木) 01:28:48.78ID:YGlzE19V
>>599
テンプレートの展開結果は実際に展開されるまでわからん。
Class クラスに <T, U> 型を適用した結果として
出来る f2 が型なのか変数なのかテンプレートなのかは f を定義した時点ではまだわからんし、
わからんのでは構文解析できん。

もし f がテンプレートではないのであれば、
f の定義時点で Class の展開はされるから、
f2 が何であるかはわかる。
2019/02/07(木) 02:06:35.36ID:b+LBP2oh
700重ループなら次のように書いたらええ
int cn[701] = { ... };  // [0..699]: ループ回数(ここでは全部0より大きいとする)、[700]: 番兵
int ci[701] = { 0 };  // [0..700]: ループ変数
cn[700] = 2; // 番兵
do {
 (ci[0..699]に依存する処理)
 ci[0]++;
 for (int i = 0; ci[i] >= cn[i]; i++) {
  ci[i] = 0;
  ci[i + 1]++;
 }
} while (c[700] == 0);

いや知らんけど多分、
2019/02/07(木) 02:12:21.12ID:jeiltBqQ
>>600
そういうことすか。親切にありがとうございました。
2019/02/07(木) 12:06:02.32ID:FsbblVW+
【製作中 の wasm(WebAssembly)/MS Windows 共通の Window System】

http://nowsmartsoft.atwebpages.com/

このサイトを訪れたユニークユーザー数は、「1」だ。おいらのことだよ。
ひきこもりの L より。
2019/02/07(木) 17:20:28.22ID:YGlzE19V
>>603
L って LightCone 氏だったの?
2019/02/07(木) 17:21:14.65ID:fRacvqu0
DeathNoteの作者によれば、別人らしい。
2019/02/07(木) 17:22:57.71ID:fRacvqu0
まだ、ユニークユーザー数は、5 だ。
reddit という世界最大の掲示板(?)にも書いてきたけど、時差の問題で
まだなのかな。でも、テレビなんかとは全然視聴者数が違うみたいだ。
607デフォルトの名無しさん
垢版 |
2019/02/07(木) 18:39:38.68ID:86zgFFA7
見てきたけど、これはもしかして良いものなのでは?
2019/02/07(木) 19:08:50.57ID:fRacvqu0
wasm に興味を持つ人が増えるといいな。
609デフォルトの名無しさん
垢版 |
2019/02/07(木) 19:30:41.56ID:86zgFFA7
ブラウザで普通に動いてびっくり。
2019/02/07(木) 19:52:59.41ID:Y+oxZntz
何がすごいのか教えてくれないか‥
2019/02/07(木) 20:01:39.01ID:hAIKTwic
CPU で直接実行してこその asm であって、ブラウザ上の仮想マシーンで実行するとかいう asm に何の意味があるのか?
612デフォルトの名無しさん
垢版 |
2019/02/07(木) 20:02:49.47ID:86zgFFA7
同じソースコードがウィンドウズとブラウザで動くらしい。
613デフォルトの名無しさん
垢版 |
2019/02/07(木) 20:04:39.28ID:86zgFFA7
C++ユーザーがウェブにリーチできるのは凄いのでは。
2019/02/07(木) 20:05:17.04ID:Y+oxZntz
>>612
確かにそれはすごいけど、このブラウザで動いてるやつがどう凄いのか理解できない
2019/02/07(木) 20:06:42.02ID:ln/cuVF1
何に使うのか知らんけど選択肢が増えるのは良い
2019/02/07(木) 20:07:52.71ID:e0jRAAR5
なにかにつけてwebは再発明の歴史だよな
2019/02/07(木) 20:10:25.85ID:ln/cuVF1
>>613
Qtがhttpサーバー作ってたからそれでよくね
2019/02/07(木) 20:21:51.16ID:+esGdO37
いちいちユニークユーザーを監視されるのが嫌だら見てないけど
emscripten と何がちがうんだ?
2019/02/07(木) 22:10:43.10ID:fRacvqu0
ユニークユーザー数は、13人。その内オイラが2人分にカウントされている。

実は、プログラム技術板は、1日20人くらいしか来てない事は誰にも知られ
ちゃいけない秘密・・・。
2019/02/07(木) 22:13:04.24ID:fRacvqu0
そしてこのスレは、1日15人も来てない・・・。
むむむ。
2019/02/07(木) 22:16:47.32ID:fRacvqu0
リンク先の訪問数。

日本    24
大阪府   7    // オイラは滋賀だが、多分ここに入っている。
不明    7
東京都   5
富山県   3
神奈川県  1
埼玉県   1

プログラム技術板の実態。

もし異論がある人は、上のリンク先を訪問して証明してくれ。
2019/02/07(木) 22:19:27.09ID:fRacvqu0
【ここの住人の個人情報】
東京、大阪、神奈川、埼玉、富山、滋賀。

全部で 10人くらいしかいなかった。(笑)
2019/02/07(木) 22:23:40.07ID:kI0a4U49
>>618
https://mevius.5ch.net/test/read.cgi/tech/1547549448/38

>>614
そんなに凄くはないよ。
ちゃんと思ったことが出来るかどうか実験してみてる最中。
2019/02/07(木) 22:26:29.96ID:fRacvqu0
>>617
あれって、apacheやmongooseみたいな「WebServer」を作るための
関数を用意したってことではないの?
ただ、どっちにしろ、Qt も、既にWebで動くものが出来ている(?)
と昨日くらいにWikipediaで見たけど。
625デフォルトの名無しさん
垢版 |
2019/02/07(木) 22:26:41.11ID:HqsSiLjf
たった10人がまるで自分達が世界の中心であるかのようにC++の仕様を論じていたのか。滑稽極まりない。
2019/02/07(木) 22:27:02.58ID:6lKliUgm
謎富山
2019/02/07(木) 22:30:26.79ID:fRacvqu0
>>611
個人的には、Windows Native版を普段は使って、人に見せびらかしたい・・・・
ではなく、「見てもらいたい」時に、Web 版を使いたい。
学校とか会社で、その辺にあるマシンやスマホで、作ったものを人に見せられる
のは快楽・・・、ではなく「生きがい」になるんじゃないかと。
2019/02/07(木) 22:35:10.46ID:oaRutm/f
>>627
作者が飽きてゴミになる可能性が極めて高いようなものに貴重な時間を投資する気にはなれません
お引き取りください
2019/02/07(木) 22:36:06.35ID:fRacvqu0
あと、圧縮してない現状で、HTMLとJSとWASMを全部合わせて 83KB しかない。
個人情報をさらけ出せてみんな大好きなアクセス解析の Ninja Analayzer を
使っているので、その分起動は少し遅くなってるけど、それがなければ、
起動は1秒かからないかもしれない。

PCへのインストールもないのに、起動が1秒かからない。
2019/02/07(木) 22:36:26.80ID:makgq+Wp
今のほぼオワコンの5chなんてどこもこんなもんでしょ
期待しすぎ
2019/02/08(金) 09:15:56.40ID:W2gEFcGi
正直そこまですごくはないよね
unityのゲームがブラウザで出来る方がよっぽど凄いとは思う
2019/02/08(金) 10:31:27.58ID:xI0+6qTx
Native版(Windows x86, x64 *.exe) と、VM版(wasm) の両方が同じC++ソースから
作れることが特徴。いまのところそういう ToolKit は少ない。
2019/02/08(金) 10:42:45.25ID:xI0+6qTx
Window Resizing時のマウスカーソルが上下、左右逆向きになることが残ってるけど、
LinuxのFireFox上でも普通に動作するし、今後も動作しなくなる可能性は低い。
個人的な予想だと、XamarineがMSに買収され(小国が大国に吸収されて君主
が入れ替わった)てしまった、C#は、今後、Linuxでは、動かなくなって
行く心配がある。それではMultiplatformの意味がない。
2019/02/08(金) 10:50:54.40ID:xI0+6qTx
さらに、wasm は Webアプリなので、Appleの審査も、AppleStoreへの登録料
も不要なハズ。Appleが何か言ってきたらEUに怒ってもらう。
2019/02/08(金) 10:55:20.69ID:yf5AQ092
そろそろスレ違いだから、終わりにしたら?
専用のスレ立ってるんだからそっちでやればいい。書き込みしてるのはいつも同じ一人の人だけっぽいが。構って欲しいからとこのスレで続けるのはやめてくれ。
2019/02/08(金) 11:20:09.28ID:xI0+6qTx
https://qiita.com/rana_kualu/items/845a4e062b73df1d2762

2019/02/08(金) 11:36:02.62ID:wLzz2pae
>>636
それPWAは使い物にならないから糞ストアを使わざるを得なかったという趣旨の記事なんだが、自己批判したいのか?
お前がwasmでアプリを作ったところで、純粋なブラウザスクリプトでできることなんて極めて限られている
作ったものを配布しようと思えばお前も結局この記事と同じ地獄に直面することになる
2019/02/08(金) 11:44:42.10ID:U5TpKLby
林檎なんか無視でいい
2019/02/08(金) 12:36:33.89ID:xI0+6qTx
>>637
実はその通りだよ。検索してみて分かったので訂正記事を書こうと思ったが、
間違って記事を書き終えるまでに投稿してしまった。

>>636 によれば、(wasm を使って) WebAppliを作っても、Appleマシンで
動かすのは審査や登録が大変で、年間費まで払わなくてはならないらしい。
単なるWebPageにしか過ぎなくても、Appleはそういうことをしてしまうみたいだ。

>>638
本当にそうで、>>603 のページの訪問者数は、Android が 8 に対して、iOS が 1 だった。
2019/02/08(金) 12:47:59.34ID:xI0+6qTx
>>637
>それPWAは使い物にならないから

ただ、ここは違うと思うけど。PWA っていうのは、WebアプリがOffline状態
でも使えるようにする技術なので、記事の内容とは直接関係無いはず。
2019/02/08(金) 19:37:08.92ID:F5yzRsxV
5重ループに引っかかってるのって全然アルゴ知らん奴だろw

グラフとか座標の走査ではザラに出るからw
2019/02/08(金) 19:41:52.97ID:U10rELvE
あ〜、知ってる知ってる。
アルゴのリズムね。
あの陽気な感じで踊るやつね。
2019/02/08(金) 20:14:27.60ID:MVNcnzeY
一人ランバダより凄い?
2019/02/08(金) 20:21:07.41ID:sEIv5tif
あぁあれな。アルゴリズム記述用言語の。つかったことねえわ(´・ω・`)
2019/02/08(金) 21:18:45.10ID:AHMSeatY
lambdaをランバダと読むのは俺だけではなかったようだな
2019/02/08(金) 22:20:01.31ID:gZF5aOC3
>>632
Write once, run anywhere!
Write once, run anywhere!
HAHAHAHAHAHAHA!!!111!11!
2019/02/08(金) 22:20:59.73ID:gZF5aOC3
アンカミスったorz
>>646は、>>633へのレス
648デフォルトの名無しさん
垢版 |
2019/02/09(土) 00:21:38.44ID:MbpT91OC
このスレも監視されてるのかな。
2019/02/09(土) 01:07:22.91ID:3dJvh84X
>>648
実は、アクセス解析って、個人情報なんか見れないよ。
名前や住所なんてものは全く分からない。
ブラウザが外部にはそういう情報を渡さないようにしっかりプログラムされてるから。
自分で試しに使ってみたら分かるけど、アクセスしてきた人の使ってるプロバイダ
のIPアドレスから、大体の住んでる地域が分かって、使ってるOSと、使ってる
画面の解像度出てくるけど、住んでる地域も画面の解像度も間違ってることが多い。
OSも、Windowsであることは分かっても、詳細なバージョンまでは不明なことも多い。
例えば、「7」と「それ以外」のように表示されてしまう。
使ってるブラウザも大体は分かっても、ChromeとSafariの区別が付かなかったり
するらしい。
2019/02/09(土) 01:13:15.09ID:3dJvh84X
あと、テレビドラマみたいに、ハッカーなら何でも出来るみたいなことは嘘。
ハッカーが「なんでもお見通し」みたいなこと自ら豪語したりしてるのは、
マルウェアを感染させ終わってるからだよ。普通は感染してないからそんな
情報はハッカーにも見えない。なお、マルウェアに感染させるのは簡単ではない。
大体、大きな組織だとお馬鹿な社員が一部にいて、基礎的なやってはならないことを
やって感染してしまってるだけ。
2019/02/09(土) 02:05:42.75ID:xfmM6W79
なに急に
ビビるんですけど
2019/02/09(土) 04:07:36.95ID:jgVZ/PYq
>>650
もういい加減やめてくれないか
2019/02/09(土) 07:21:17.45ID:Js3eMSlM
いやDOS
PCDOS
2019/02/09(土) 13:31:56.82ID:Js3eMSlM
>>649
そらipアドレスと個人名結びつけるのはプロバイダしかできませんがな
収容鯖も個人の住居エリアじゃなく他県に割り当てられる場合もあって、
個人情報からはかけ離れてる場合も多い
http://www.iplocationfinder.com/
655デフォルトの名無しさん
垢版 |
2019/02/09(土) 13:35:22.03ID:MbpT91OC
ということはプロバイダもグルなのか。
2019/02/09(土) 14:28:01.31ID:3dJvh84X
>>655
何の話なんだ。大体の地域までしか分からないよ、Ninja Analyzerでは。
名前や住所なんて全く分からん。
2019/02/09(土) 21:05:40.77ID:wqDSs9XB
君たちそろそろCプラスプラスの話にもどりなさい
2019/02/09(土) 21:07:55.36ID:kG75YWtZ
ヘッダー内の定数変数の設置方法について、詳しい人、いらっしゃいますか?
2019/02/09(土) 21:38:48.35ID:5t5ZiBxh
>>658
どの程度のレベルの質問かによる。
2019/02/09(土) 21:44:14.22ID:c2FJmEij
>定数変数
<質問の意味不明。再入力せよ>
2019/02/09(土) 22:34:04.43ID:jk57Ug9J
>>660
おまえは定数変数を感じるか?
2019/02/09(土) 22:42:04.90ID:onf/I33C
ROM焼きしても良いのか、RAMにコピーしておかないといけない
のか小一時間質問を
2019/02/09(土) 22:55:27.78ID:NnmcfWng
>>658
結論が出たようです

> ヘッダー内の定数変数の設置方法について、詳しい人、いらっしゃいますか?
いません

はい、次の方どうぞ
664デフォルトの名無しさん
垢版 |
2019/02/11(月) 00:29:43.89ID:JDr8Dttm
しーぽぽ、しーぽっぽ。
2019/02/11(月) 04:30:46.19ID:Q8pHabNH
c#とc++どっちからはじめたらいいですか
pythonを少し触ったことがある程度です
c++でしかできないことがあるでしょうか

とりあえずファイラを作りたいのです
2019/02/11(月) 04:49:21.15ID:BEdrdhIs
C#ならモバイルもストアもイケるし、人間に分かりやすい。ただ蓄積が少ない。
C++なら大量の遺産が利用できるが、ちょっと生産性が悪くややこしい。

C++ならWinFileというMITライセンスのソフトを参考にするといい。
2019/02/11(月) 05:08:41.19ID:Q8pHabNH
たしか、共用も出来るんですよね
基本C#で、C++にしかできない部分だけc++という形でいいんでしょうか
2019/02/11(月) 05:24:08.70ID:fD0IDjkv
エクスプローラのようなファイラーを製作するためのキーワードは:

ツリービュー、リストビュー、ファイルアイコン取得、メニューバー、ポップアップメニュー、ファイル操作、ダイアログボックス、シェル通知、シェルコンテキストメニュー。

大変だが、これらを押さえれば、C#でもC++でも作れる。
2019/02/11(月) 05:50:04.11ID:Q8pHabNH
↑がんばります
サクサクできるようになりたい
2019/02/11(月) 06:08:56.92ID:iabdC9wT
long long a = 1LL;
ってさぁ、
long long a = 1;
と何が違うのよ?
2019/02/11(月) 06:16:27.68ID:ObneqQQm
ソースファイルサイズが2バイト違います
2019/02/11(月) 06:35:27.07ID:iabdC9wT
>>671
意味的に変わらんよな?
つまり a にはlong long の 1 が入るよな?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。