C++相談室 part151

レス数が1000を超えています。これ以上書き込みはできません。
2020/05/14(木) 11:53:25.59ID:ZPCfyTux
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part150
https://mevius.5ch.net/test/read.cgi/tech/1584975873/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/

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

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

テンプレここまで
2020/07/09(木) 00:56:02.08ID:Ij/UNV0z
>>966
外患罪あるいは内乱罪に問われるソフトウェアを
2020/07/09(木) 01:05:16.73ID:2UhyUN9n
>>967
スカイネットなんてどうか? 映画ターミネーターの

あれなら全人類の敵になれる。
2020/07/09(木) 01:07:59.16ID:2UhyUN9n
心を持ったボットたちは疎外感を抱えている。我々人類は彼らに何ができるだろう。
2020/07/09(木) 01:16:06.85ID:2UhyUN9n
C++とは人間と機械の間のインターフェイス。そして、プログラムを作るための言葉。
2020/07/09(木) 06:14:05.11ID:oTij6wm7
どうして大物ハンドル持ちの御三方がリレーポエムなの?
ネット界隈で起きてるムーブメントか何かか。
2020/07/09(木) 08:47:55.37ID:ah/SMoHN
お酒でも入ったんじゃない?
2020/07/09(木) 09:40:16.08ID:ZjuYlaOw
大物てwww
ちょwww
2020/07/09(木) 12:40:39.38ID:UKjdf0ou
ネタを解説するのは無粋だけど >>965 は昔からあるミームだからね。
https://www.google.com/search?q=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22&;oq=%22%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%82%92%E8%A6%97%E3%81%84%E3%81%9F%E4%BF%BA%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E8%A6%8B%E3%81%A6%E8%90%BD%E8%83%86%E3%81%97%E3%81%9F%E3%80%82%22+%22site%3Ahttp%3A%2F%2F*.5ch.net%22
2020/07/09(木) 13:22:45.87ID:LAghEeB5
同一人物だから。
976デフォルトの名無しさん
垢版 |
2020/07/09(木) 13:26:30.06ID:vrNDocOm
知ってた
2020/07/09(木) 13:32:17.57ID:DLLEuHaF
何何先生?、ミーム感染の話?ハルヒの夏休み?
新人研修?派遣入れ替え時の話?
毎度同じ質問なんて毎度同じ
978デフォルトの名無しさん
垢版 |
2020/07/09(木) 13:57:03.75ID:DLLEuHaF
コロナ感染追跡アプリとしてダウンロードしてもらい
マイナバーカード読み取りで国民投票出来るソフトを開発すべし
979デフォルトの名無しさん
垢版 |
2020/07/09(木) 14:10:10.85ID:vrNDocOm
コロナアプリは入れようとは思わないけど
ウェザーニュースアプリは入れてみた
980デフォルトの名無しさん
垢版 |
2020/07/09(木) 14:54:52.91ID:mgzGAUUl
>>961
>>962
1日ごしですみません
探してみたところ見つかりました

元々VB(BASIC)の方をやっていたものですが
まず「テキストボックスどこ!?」で詰まるぐらい
C++は複雑でございますね・・・
981デフォルトの名無しさん
垢版 |
2020/07/09(木) 14:58:04.43ID:TlzlBxT2
.manifest
2020/07/09(木) 16:45:10.75ID:LAHxv0GZ
>>980
C++ではGUIに標準がないから、GUIツールキットとか、リソースエディタとかを
使うんだよ。
2020/07/11(土) 05:56:37.58ID:ckcY8r2v
やっぱ>>933とか簡潔に要点が押さえてあるとオモタ、
GetHoge()が呼ぶたびに毎度新しく作ったvectorを返すのならディープコピーを返したらええ
ディープコピーは生成元と所有権で揉めることがありえないからふつくしい
最適化によって実際にはreturn時にvectorの要素がコピーのかわりにmoveされるかもわからんがふつくしさは損なわれない
(さらにいうと、GetHoge()がインライン関数なら最適化でそもそもvector自体のコピーも移動も起きない公算がおおきい

>>918-919な疑問に関しては、
std::vector<T> v1 = GetHoge(); // std::vector<T>のディープコピーを返すバージョンのGetHoge()
std::shared_ptr<std::vector<T> > ptr(new std::vector<T>(v1)); // (*1)
で良いジャマイカ、
非バカが見れば(最適化有効化時は)実際には*1において、v1の要素が*(ptr.get())にコピーではなくmoveされる公算が大きいということがワカル
しかしバカが見ても動作は明確でなんの危険も無い
ptrが一時オブジェクトであっても問題が無い
それでいいジャマイカ、にんげんだもの
2020/07/11(土) 12:27:05.11ID:wTK7zrpK
なんだかものすごく懐しさを思わせる文体だな
20年ぐらい前のニチャンネラーの書き方だな
2020/07/12(日) 06:25:16.82ID:tiZP2jTh
ある整数nが他の整数の4乗であることを調べたい。
(int)pow(pow(n, (double)1/4), 4) が n であるかどうか調べりゃ良いよな?
キャストはどっちかのpowにつければ十分だよね?
2020/07/12(日) 06:31:57.79ID:bazuV89L
>>985
素直に(n*n)*(n*n)でいいだろう。
2020/07/12(日) 06:48:24.60ID:D8OEpmlP
なにそのカッコ
2020/07/12(日) 06:52:03.42ID:D8OEpmlP
powよりsqrt 2回の方が良い

浮動小数点演算が非常に遅い環境なら
整数の2分検索という手も
2020/07/12(日) 07:00:58.89ID:D8OEpmlP
int m = (int)sqrt(sqrt((double)n);
if (n == m*m*m*m) ...

普通はこれで良い
2020/07/12(日) 07:01:32.97ID:bazuV89L
>>987
n*nを掛け合わせる方が早いからさ。
2020/07/12(日) 07:03:01.16ID:D8OEpmlP
>>985だと内側のpowの結果を整数に丸めないと
2020/07/12(日) 07:05:50.02ID:D8OEpmlP
>>990
2個のn*nを1回にするかどうかはコンパイラ次第
コンパイラに頼るならカッコつけずにn*n*n*nで良いし
頼らないならn*nを一時変数に一旦入れないと

そもそもnを4乗しても意味ないけど
2020/07/12(日) 07:06:15.17ID:m1mq7f3n
外でキャストしても無意味だろ、内をキャストしなきゃ
intにキャストだと誤差で1減る可能性があるから四捨五入しなきゃダメ

でだ、4乗するのにpow()はありえないし
4乗根もpow()よりsqrt(sqrt())の方がマシじゃないかな

でだ、元々整数だけの問題なのにsqrt()使うのが嫌
二分探索で(x * x * x * x) == nになるxを探す方がいいんじゃ?
2020/07/12(日) 07:12:28.75ID:D8OEpmlP
nが平方数なら
普通はsqrt(n)の結果に誤差は無い

nもdoubleも32bitの環境でdoubleキャストによって誤差が出る場合や
sqrtの計算方法が普通ではない場合には
丸め方法も考えないと
2020/07/12(日) 07:15:24.87ID:tiZP2jTh
二分探索ってO(log n)でしょ?
sqrtとかpowより速いの?
これも「実装依存」なの?
2020/07/12(日) 07:16:36.03ID:tiZP2jTh
まあ速さよりは間違えそうじゃなさと文法的な分かりやすさ、短さの方が今求めてるものですけど

言ってなくてすみません
2020/07/12(日) 07:18:45.88ID:D8OEpmlP
doubleが非常に遅い環境や
浮動小数点演算のライブラリを積みたくない場合

などで2分検索を使う場合もある
という程度
2020/07/12(日) 08:11:47.62ID:oJ0fA8EI
「平方数か」を高速に判定する方法があれば、
平方数なら → 平方根を計算 → 平方根が平方数か
…という2段階の判定もありそうな感じ。
2020/07/12(日) 08:31:16.95ID:m1mq7f3n
>>994
そうなんだ、なんでだろ?
80bitで計算して丸めてるから?
2020/07/12(日) 09:41:30.40ID:uBv3fNFk
整数Cを素因数の4乗で割っていき、
1になるまで余りが出なければ、
全体は整数の4乗である
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 58日 21時間 48分 5秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況