次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
このスレもよろしくね。
【初心者歓迎】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
探検
C++相談室 part139
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ f65b-zn+7)
2018/10/06(土) 00:59:48.54ID:CdYUXXMG0896デフォルトの名無しさん (ワッチョイ 917c-aDDJ)
2019/01/06(日) 14:27:57.77ID:UQlfmMBy0 中学生か
897デフォルトの名無しさん (ワッチョイ 51e3-PFih)
2019/01/06(日) 16:25:01.53ID:gVP3A6Xh0 >>895
数学的にはそれで完全に正しい。
しかしコンピュータには誤差があるので、
itoa() や printf() などを自分で実装するような場合、
よく考えないといけないかも知れない。
log_10(x) で計算すると N 桁だということになったとしても、
itoa() などを実装するアルゴリズムによっては、ある条件の時に
誤差によって、1ケタだけずれるかもしれない。
めったに無いことだが、これで銀行システムや戦闘機のシステムが
ダウンしたりするかも知れないので、数学は重要。
数学的にはそれで完全に正しい。
しかしコンピュータには誤差があるので、
itoa() や printf() などを自分で実装するような場合、
よく考えないといけないかも知れない。
log_10(x) で計算すると N 桁だということになったとしても、
itoa() などを実装するアルゴリズムによっては、ある条件の時に
誤差によって、1ケタだけずれるかもしれない。
めったに無いことだが、これで銀行システムや戦闘機のシステムが
ダウンしたりするかも知れないので、数学は重要。
898デフォルトの名無しさん (ワッチョイ 51e3-PFih)
2019/01/06(日) 16:27:31.80ID:gVP3A6Xh0 ちなみにオイラは数学は首席だったが、どういう場合にそれが生じるかは
即答することは出来ない。アルゴリズムを慎重に選ばないと、その誤差によって
システム・ダウンやアプリのハングアップ、保護例外などを引き起こす可能性が
わずかだが存在するかもしれない。
即答することは出来ない。アルゴリズムを慎重に選ばないと、その誤差によって
システム・ダウンやアプリのハングアップ、保護例外などを引き起こす可能性が
わずかだが存在するかもしれない。
899デフォルトの名無しさん (オッペケ Src5-mak3)
2019/01/06(日) 16:32:25.57ID:BCtLt9aar へぇ〜科目毎に首席決まるんだ笑
900さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 16:48:35.20ID:5fyS0TRC0 n>=0かつ10^n <= m < 10^(n+1)
のときに整数mは十進n桁の数と言える。
不等式に常用対数を適用し、
n <= log_10 (m) < n+1
が得られる。つまり、1以上の整数mに常用対数を適用し、さらにガウス記号を適用したものがmの桁数だ。
m=0のときは一桁になることに注意する。
のときに整数mは十進n桁の数と言える。
不等式に常用対数を適用し、
n <= log_10 (m) < n+1
が得られる。つまり、1以上の整数mに常用対数を適用し、さらにガウス記号を適用したものがmの桁数だ。
m=0のときは一桁になることに注意する。
901さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 16:50:11.91ID:5fyS0TRC0 計算結果の桁数が違うときは、常用対数の誤差とガウス記号の誤差の問題になる。
902さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 16:57:04.99ID:5fyS0TRC0 常用対数の誤差については、有効桁数を使うか、区間演算により、誤差の範囲を見積もることが可能。そこで、誤差の範囲が整数をまたぐかどうかを判定すれば、問題は解決する。
903さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 16:59:59.29ID:5fyS0TRC0 整数をまたぐ可能性があるときは実際に整数を文字列化すれば正確な桁数が算出可能。もしくは任意精度の多倍数演算により自由に精度を高めて再計算すればいい。
904さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 17:00:41.37ID:5fyS0TRC0 *多倍長演算*
905さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-YfKw)
2019/01/06(日) 17:07:05.46ID:5LUvK3vXd オイラーは首席だったのか?
906さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-YfKw)
2019/01/06(日) 17:11:34.26ID:5LUvK3vXd NO DATA.
907さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 17:23:51.30ID:5fyS0TRC0 ほら、反論しろよ?
908デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/06(日) 17:41:26.55ID:kxJaA4Vn0 ふつー数値から文字列に変換する変換関数そのものに長さを報告させるだろ
文字列の格納先のメモリを確保するときのサイズ見積もりに対数を使う場合は
ワーストケースで誤差が出た場合に備えればいい
文字列の格納先のメモリを確保するときのサイズ見積もりに対数を使う場合は
ワーストケースで誤差が出た場合に備えればいい
909さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 17:44:32.37ID:5fyS0TRC0 具体的なほとんどのプログラムでは常用対数の誤差を一桁以内にすることは可能だろう。
910デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/06(日) 18:06:44.32ID:z+pllqoQ0 ゲームエンジンでおすすめありませんか?
911デフォルトの名無しさん (ワッチョイ 8901-ikDe)
2019/01/06(日) 18:12:46.00ID:q7b7d/XL0 本屋さんにはUnityコーナーがあるよ。
912デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/06(日) 18:19:00.70ID:z+pllqoQ0913デフォルトの名無しさん (ワッチョイ b332-xhm2)
2019/01/06(日) 18:21:40.42ID:mghQxkOO0 >>912
glfw
glfw
914さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 1901-YfKw)
2019/01/06(日) 18:22:16.06ID:5fyS0TRC0 スマホゲームならWebGL一択、ハイエンドならUnity、Unreal Engine、CoCo3D、ローエンドならOpenGL, DirectDraw, Haxeといったところか。
915デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/06(日) 18:34:54.20ID:z+pllqoQ0916デフォルトの名無しさん (ワッチョイ 5161-PFih)
2019/01/06(日) 19:53:45.75ID:viPzIL890 >>908
変換関数そのものをプログラムしたい場合に、あらかじめ桁数が分かって
いる方が便利 or 効率が良い、場合があり、log_10(x)を使用したくなってしまう。
ところがが、log 計算には誤差が有る可能性があるので、その値を過信するのは
問題だと言うことが言いたかった。
例えば、文字列化する際には、多くのアルゴリズムでは、下の方の桁から
決まっていく。しかし、文字列バッファには、上のケタから左詰で入れて
行く必要がある。となると、最初から桁数が分かっていれば、簡単に
プログラムできるのではないかと言う誘惑に駆られてしまう。
後、10で割っていって余りを使う方法は簡単ではあるが、そのアルゴリズム
そのものにも誤差が有る可能性が指摘されている。
変換関数そのものをプログラムしたい場合に、あらかじめ桁数が分かって
いる方が便利 or 効率が良い、場合があり、log_10(x)を使用したくなってしまう。
ところがが、log 計算には誤差が有る可能性があるので、その値を過信するのは
問題だと言うことが言いたかった。
例えば、文字列化する際には、多くのアルゴリズムでは、下の方の桁から
決まっていく。しかし、文字列バッファには、上のケタから左詰で入れて
行く必要がある。となると、最初から桁数が分かっていれば、簡単に
プログラムできるのではないかと言う誘惑に駆られてしまう。
後、10で割っていって余りを使う方法は簡単ではあるが、そのアルゴリズム
そのものにも誤差が有る可能性が指摘されている。
918デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/06(日) 20:16:22.17ID:kxJaA4Vn0 >>916
変換関数の中でメモリ割り付けを行うのが好みなのか?
変換関数の中でメモリ割り付けを行うのが好みなのか?
919デフォルトの名無しさん (ワッチョイ d93d-3A6Y)
2019/01/06(日) 20:27:50.31ID:Tw0qXLcy0 んま実際にわ数値の桁数とか型を見たら一発でわかるんですけどねwwwwww
logは人間の感覚特性にマッチした量的尺度を表したり(例:dB)、
情報量の表現に使う(同じものがいっぱいあるという状況は情報量を上げない)という目的が大きい
logは人間の感覚特性にマッチした量的尺度を表したり(例:dB)、
情報量の表現に使う(同じものがいっぱいあるという状況は情報量を上げない)という目的が大きい
920デフォルトの名無しさん (ワッチョイ 8901-ikDe)
2019/01/06(日) 21:04:54.26ID:q7b7d/XL0 HTMLパーサーありますか?
921デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/06(日) 21:27:13.56ID:kxJaA4Vn0 >>919
intは何桁だ?
intは何桁だ?
922デフォルトの名無しさん (ワッチョイ 79ab-cEz4)
2019/01/06(日) 22:23:30.07ID:IpTON8AO0923デフォルトの名無しさん (ワッチョイ 5161-PFih)
2019/01/06(日) 22:46:51.25ID:viPzIL890 >>917
前提として浮動小数点数(float/double など) の話だけど、誤差が無いとは言い切れない
事は分かると思う。
誤差を少なくする方法として、10で割ったりせずに、最初から、
10000.0, 1000.0, 100.0, 10.0, 1.0, 0.1, 0.01, 0.001
20000.0, 2000.0, ・・・
30000.0, 3000.0, ・・・
40000.0, 4000,0, ・・・
のようなものを計算しておいて、比較したり引き算したりする方法が
あるそうな。
浮動小数点値の場合、当然かもしれないが log を使わずに、IEEE の仕様を元に
指数部のBIT部分を読んで利用する方がいいらしい。
前提として浮動小数点数(float/double など) の話だけど、誤差が無いとは言い切れない
事は分かると思う。
誤差を少なくする方法として、10で割ったりせずに、最初から、
10000.0, 1000.0, 100.0, 10.0, 1.0, 0.1, 0.01, 0.001
20000.0, 2000.0, ・・・
30000.0, 3000.0, ・・・
40000.0, 4000,0, ・・・
のようなものを計算しておいて、比較したり引き算したりする方法が
あるそうな。
浮動小数点値の場合、当然かもしれないが log を使わずに、IEEE の仕様を元に
指数部のBIT部分を読んで利用する方がいいらしい。
924デフォルトの名無しさん (ワッチョイ 8901-xhm2)
2019/01/07(月) 08:39:12.81ID:4xwPMGVF0 桁数が重要になるような銀行や事務系の話?
それなら10進演算だろ
IEEEでも定義されてる
科学計算だと対数で問題ない
それなら10進演算だろ
IEEEでも定義されてる
科学計算だと対数で問題ない
925デフォルトの名無しさん (ワッチョイ 51e3-PFih)
2019/01/07(月) 13:35:29.03ID:QyN6UiiI0 >>924
自分で printf() を実装する場合の、浮動小数点数を文字列に直す時の話。
自分で printf() を実装する場合の、浮動小数点数を文字列に直す時の話。
926デフォルトの名無しさん (ワッチョイ b332-xhm2)
2019/01/07(月) 13:47:41.82ID:hsoUdh4l0 自分でprintfを実装するとか銀行のシステムを作るよりレアケースだな
927デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/07(月) 17:09:10.70ID:Cio2TleD0 ここがC++スレということを忘れて内科医?
printfはオーバーロードできるしグローバル以外の空間にも導入できる
printfはオーバーロードできるしグローバル以外の空間にも導入できる
928デフォルトの名無しさん (ワッチョイ 8901-eTP0)
2019/01/07(月) 20:19:39.05ID:hm6qCAOJ0 そんなことするんじゃねーよカスが。
929デフォルトの名無しさん (ワッチョイ 5167-xhm2)
2019/01/07(月) 23:14:26.87ID:lPhgCzer0 Pythonには素の遅いPythonとJITを使った素のPythonよりとてつもなく速いPythonがあるようですが
Boost.PythonでPythonスクリプトを読み込んで実行した場合は素の遅いPythonの速度になる認識であっているでしょうか?
また、Boost.PythonでJIT版Pythonを実行することは可能でしょうか?
Boost.PythonでPythonスクリプトを読み込んで実行した場合は素の遅いPythonの速度になる認識であっているでしょうか?
また、Boost.PythonでJIT版Pythonを実行することは可能でしょうか?
930デフォルトの名無しさん (ワッチョイ 5161-PFih)
2019/01/09(水) 00:35:27.60ID:I3YK3qiz0 >>929
全然その辺知らないけど、
そもそも、python の言語仕様自体がJITを使ったとしてもC/C++ほどの速度には
ならないはずだし、そもそも NumPy 使わないと遅いということは聞いてる。
大体のスクリプト言語は、言語仕様の段階で例えコンパイル言語化しても
どうすることも出来ない遅さが含まれてしまってる。
全然その辺知らないけど、
そもそも、python の言語仕様自体がJITを使ったとしてもC/C++ほどの速度には
ならないはずだし、そもそも NumPy 使わないと遅いということは聞いてる。
大体のスクリプト言語は、言語仕様の段階で例えコンパイル言語化しても
どうすることも出来ない遅さが含まれてしまってる。
931デフォルトの名無しさん (ワッチョイ 917c-aDDJ)
2019/01/09(水) 11:18:19.67ID:+j6Vua/i0 numpy使えばC並みの速度が出るようにも書けるが
numpy使ったからと言って馬鹿が描くと素のpython以上に遅くなる
numpy使ったからと言って馬鹿が描くと素のpython以上に遅くなる
932デフォルトの名無しさん (ラクッペ MMe5-88M8)
2019/01/09(水) 13:18:31.63ID:ePvWX0K6M 速度なんて誰でも気にしない優しい世界
933デフォルトの名無しさん (ワッチョイ 8901-eTP0)
2019/01/09(水) 19:27:53.32ID:LMntakFz0 用意されてるライブラリ使えと。
バカがイキって作ったライブラリより普通に速いから。
バカがイキって作ったライブラリより普通に速いから。
934デフォルトの名無しさん (ワッチョイ b332-xhm2)
2019/01/09(水) 19:38:55.54ID:P7Qg82S60 numpyの使い方の話ではなく?
935デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/09(水) 20:20:55.44ID:1OkzU/m20 というかスレチでは?
936デフォルトの名無しさん (ワッチョイ 5161-PFih)
2019/01/09(水) 21:54:22.59ID:eG2hyzXv0 ・動的型言語
・自動メモリ管理
・リンクリストと配列を余り区別しない書き方をする人が多い傾向。
これらがあるので、pythonをコンパイル型にしてもある程度以上の高速化は
難しいと思われる。
・自動メモリ管理
・リンクリストと配列を余り区別しない書き方をする人が多い傾向。
これらがあるので、pythonをコンパイル型にしてもある程度以上の高速化は
難しいと思われる。
937デフォルトの名無しさん (ワッチョイ f15f-u+tM)
2019/01/09(水) 22:15:33.61ID:oaJURpH60 Cythonの話?
938デフォルトの名無しさん (ワッチョイ 5161-PFih)
2019/01/09(水) 22:24:15.05ID:eG2hyzXv0 pythonの速度測定は、やってみたことないけどね。(^_^;)
939デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/10(木) 08:22:27.02ID:jdFEneY4a Pythonにリンクリストなんか無いだろ
Pythonの配列(list)はvector相当の動的配列
実はリンクリストが動的配列より速いケースってC++でも現実にはほとんど無くて、あまり価値のないデータ構造だよ
拡張・縮小にメモリの再確保が不要で抽象化を必要としないから、Cのような生ポインタを好んで使いまくる言語と相性がいいだけ
Pythonの配列(list)はvector相当の動的配列
実はリンクリストが動的配列より速いケースってC++でも現実にはほとんど無くて、あまり価値のないデータ構造だよ
拡張・縮小にメモリの再確保が不要で抽象化を必要としないから、Cのような生ポインタを好んで使いまくる言語と相性がいいだけ
940デフォルトの名無しさん (ワッチョイ faa5-rp4P)
2019/01/10(木) 13:04:00.84ID:EKtor9ZH0 ttps://github.com/python/cpython/blob/master/Modules/arraymodule.c
3000行のありがたいソースコードを読み解けば何かが分る
3000行のありがたいソースコードを読み解けば何かが分る
941デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/10(木) 13:06:20.15ID:RGz7BwRGM >>940
普通に動的配列だな
普通に動的配列だな
942デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/10(木) 15:05:21.30ID:681jFEkb0 ハード屋さんが頑張りすぎて必要なくなっちゃったな
でも便利だからforward_listを使うことはある
でも便利だからforward_listを使うことはある
943デフォルトの名無しさん (ワッチョイ 4ea0-N8Dk)
2019/01/10(木) 20:06:55.51ID:Dp9bpyFY0 tupleってメンバ関数で値取り出せないのね。
std::get<N>( t ) ってファンキー過ぎやしませんか。
下手に使うとコンパイルに時間食われそう。
std::get<N>( t ) ってファンキー過ぎやしませんか。
下手に使うとコンパイルに時間食われそう。
944デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/10(木) 21:56:09.15ID:cH4uyoE20 関数やテンプレートで、できることとできないことを
冷静に考えてみな
冷静に考えてみな
945デフォルトの名無しさん (ワッチョイ f995-peLi)
2019/01/10(木) 22:54:40.61ID:pr4jZotH0 >>944
テンプレート化すればメンバ関数にすることはできるのでは?
テンプレート化すればメンバ関数にすることはできるのでは?
946デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/10(木) 23:01:28.43ID:681jFEkb0 コードを生成するのはプリプロセッサの役割
947デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/10(木) 23:13:51.80ID:cH4uyoE20948デフォルトの名無しさん (ワッチョイ 9a3a-w1rC)
2019/01/10(木) 23:31:47.36ID:lkkMD/RY0 メンバテンプレートにするとtupleをテンプレートに放り込んだときに
t.template get<0>()
と書かなきゃならなくなってこりゃないわーで皆が合意したからじゃ
t.template get<0>()
と書かなきゃならなくなってこりゃないわーで皆が合意したからじゃ
949デフォルトの名無しさん (ワッチョイ 4ea0-N8Dk)
2019/01/11(金) 13:20:57.05ID:QV4rGvMY0 せめてstd::tuple::get<N>( t ) にして欲しかった。
std名前空間汚れすぎ。
std名前空間汚れすぎ。
950デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/11(金) 13:34:51.99ID:5RUmP2fm0951デフォルトの名無しさん (ワントンキン MM8a-vTg4)
2019/01/11(金) 14:22:09.67ID:gs9IdzGQM 他のコンテナでも同じように使える様にしたかったんじゃないの
オーバロードで
オーバロードで
952デフォルトの名無しさん (ワッチョイ 715f-L/7z)
2019/01/11(金) 14:50:24.94ID:e7J07k250 std::getは固定長コンテナなら何でも使えるぞ
std::pairでもstd::arrayでも生配列でも
std::pairでもstd::arrayでも生配列でも
953デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/11(金) 15:52:17.33ID:uZGQy9uP0 >>949
std::getにすることによってテンプレート引数にtupleと見なせる型(pair,array)を使うことができるようにしたいからそうなっている
std::getにすることによってテンプレート引数にtupleと見なせる型(pair,array)を使うことができるようにしたいからそうなっている
954デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/11(金) 15:56:06.33ID:uZGQy9uP0 ちなみにstd::getのユーザーによる特殊化は次から禁止される予定です
955デフォルトの名無しさん (ワッチョイ 1902-l2tH)
2019/01/11(金) 17:29:27.31ID:qkp6ca1e0 ポリモーフィズムを使っていて、ダウンキャストを行うときって
dynamic_castをしてみてnullptrかどうかを判断するのがベストな手順なんですか?
RTTIから実際の型情報を引っ張ってくる手段はないものでしょうか
dynamic_castをしてみてnullptrかどうかを判断するのがベストな手順なんですか?
RTTIから実際の型情報を引っ張ってくる手段はないものでしょうか
956デフォルトの名無しさん (ブーイモ MM71-peLi)
2019/01/11(金) 18:21:19.24ID:3LH9+DohM >>955
もちできるけど、検査したい型を継承した型を渡されたら動かないよ?
もちできるけど、検査したい型を継承した型を渡されたら動かないよ?
957デフォルトの名無しさん (ワッチョイ d646-kZrb)
2019/01/11(金) 19:17:46.71ID:KlFqADLA0 >>955
それこそポリモーフィズムで派生クラスのthisを直でもらえばいいんじゃないの
それこそポリモーフィズムで派生クラスのthisを直でもらえばいいんじゃないの
958デフォルトの名無しさん (ワッチョイ 4ea0-N8Dk)
2019/01/11(金) 19:25:12.52ID:QV4rGvMY0 >>955
typeid で type_info 取れるよ。
基底クラスにenum Type 等を持たせてswitchも手の一つ。
処理内容によってはvisitor パターンが使える。俺が知ってるのはこれくらい。
typeid で type_info 取れるよ。
基底クラスにenum Type 等を持たせてswitchも手の一つ。
処理内容によってはvisitor パターンが使える。俺が知ってるのはこれくらい。
959デフォルトの名無しさん (ワッチョイ 715f-L/7z)
2019/01/11(金) 20:46:28.26ID:e7J07k250 まず、なるべくダウンキャストなんか必要ないようにするのが最初だけどな
960デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/11(金) 20:50:53.28ID:uZGQy9uP0 ダウンキャスト使わないのがベスト
961デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/11(金) 21:13:21.95ID:ymL5E9Q60 >>955
ダウンキャストが必要になるなら、選択はそれしかない
ダウンキャストが必要になるなら、選択はそれしかない
962デフォルトの名無しさん (ドコグロ MM9d-CymP)
2019/01/11(金) 22:23:52.97ID:jxLB4o2EM963デフォルトの名無しさん (ワッチョイ dd01-RNo8)
2019/01/11(金) 23:12:06.09ID:TUR+WyZ10 カミカゼキャストについて教えてください。
不意にフレーズが浮かんだのです。
不意にフレーズが浮かんだのです。
964デフォルトの名無しさん (オイコラミネオ MM5e-pqTR)
2019/01/12(土) 00:03:01.76ID:i0P8FrwoM SOLID守ってんのかよちゃんと
965デフォルトの名無しさん (ワッチョイ 4ea0-N8Dk)
2019/01/12(土) 01:42:52.85ID:Cfay/yS40 dynamic_castでnullptrなりbad-cast拾うのはお勧めできない。
966デフォルトの名無しさん (ワッチョイ f995-cxt4)
2019/01/12(土) 01:53:56.64ID:ygc4MJ1X0 >>965
nullptrでキャスト可否を確認するのは普通の使い方だろ…
nullptrでキャスト可否を確認するのは普通の使い方だろ…
967デフォルトの名無しさん (ワッチョイ dd01-kcJn)
2019/01/12(土) 01:57:02.82ID:WnhdkTsC0 cならともかくc++でキャストが必要になるのはどっかやばいことになってる可能性を考えた方がいい
968デフォルトの名無しさん (アウアウカー Sadd-7PRf)
2019/01/12(土) 03:58:57.87ID:xRzP6oFDa ライブラリの関数の引数が非constのchar配列で渡したい文字列がstd::stringに入ってるとき
.c_str()をconst_castしてるけどあかんの
.c_str()をconst_castしてるけどあかんの
969デフォルトの名無しさん (ワッチョイ c1a5-M9p6)
2019/01/12(土) 04:35:25.22ID:vq0ymgcL0 opencvを使用して画像処理を行ってるんですが画像データにAWGNを加える方法が分かりません
グレースケール化させて処理をしています
乱数生成などは理解しているんですがその乱数を使ってどのような値として輝度値に影響させるのかが分かってません
よろしくお願いします
visual c++を使用しています
グレースケール化させて処理をしています
乱数生成などは理解しているんですがその乱数を使ってどのような値として輝度値に影響させるのかが分かってません
よろしくお願いします
visual c++を使用しています
970デフォルトの名無しさん (ワッチョイ c1a5-M9p6)
2019/01/12(土) 04:53:59.45ID:vq0ymgcL0 >>969
Mat s;
src.convertTo(s, CV_16S);
Mat noise(s.size(), CV_16S);
randn(noise, 0, sigma);
Mat temp = s + noise;
temp.convertTo(dst, CV_8U);
今こう考えているんですがあっていますでしょうか
srcが原画像、dstがノイズ画像です
Mat s;
src.convertTo(s, CV_16S);
Mat noise(s.size(), CV_16S);
randn(noise, 0, sigma);
Mat temp = s + noise;
temp.convertTo(dst, CV_8U);
今こう考えているんですがあっていますでしょうか
srcが原画像、dstがノイズ画像です
971デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/12(土) 04:55:24.88ID:k4bgy+v70 画像処理のことなんか知らん
972デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/12(土) 05:30:28.09ID:DxcCYmak0 >>955
RTTIから実際の型情報を引っ張ってくる手段というとtypeidだね
void func(ios_base* ptr)
{
if(typeid(*ptr) == typeid(istream) { /* ... */ }
if(typeid(*ptr) == typeid(ostream) { /* ... */ }
}
RTTIから実際の型情報を引っ張ってくる手段というとtypeidだね
void func(ios_base* ptr)
{
if(typeid(*ptr) == typeid(istream) { /* ... */ }
if(typeid(*ptr) == typeid(ostream) { /* ... */ }
}
973デフォルトの名無しさん (ワッチョイ d646-kZrb)
2019/01/12(土) 08:53:04.29ID:Ma3Bi+e40974デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 09:04:15.07ID:VES9RvQbM975デフォルトの名無しさん (ワッチョイ d646-kZrb)
2019/01/12(土) 09:10:15.98ID:Ma3Bi+e40976デフォルトの名無しさん (ワッチョイ a57d-VK1S)
2019/01/12(土) 09:12:16.23ID:iREAiCU50 constついてないってことは内部で書き換えるという明確な意思表示だろ
977デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 09:29:29.58ID:VES9RvQbM Cのライブラリに依存してるとか普通にあるだろ
978デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 09:31:51.80ID:VES9RvQbM あと、ライブラリを作った奴のスキルの問題でconstを付けるべきときに付いてないのも仕事でやってりゃ普通にあるぞ
979デフォルトの名無しさん (ワッチョイ d646-kZrb)
2019/01/12(土) 09:34:33.47ID:Ma3Bi+e40 Cのライブラリに渡すのならなおらstd::stringの内部配列を渡すべきでないし
そのようなスキルの低い作者の作ったライブラリの何を信用しろと言われるのか
そのようなスキルの低い作者の作ったライブラリの何を信用しろと言われるのか
980デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 09:35:58.84ID:VES9RvQbM Cに一切ポインタ渡すなって?
凄いこと言うなあ
凄いこと言うなあ
981デフォルトの名無しさん (ワッチョイ dd01-VK1S)
2019/01/12(土) 10:17:58.63ID:D4HU0Own0 なにもそう煽らなくても
現場の人間か責任を負う立場の人間かで意見も異なるのがわかるだろうに
現場の人間か責任を負う立場の人間かで意見も異なるのがわかるだろうに
982デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/12(土) 10:56:59.61ID:Fa1DhIVTa 責任を負う立場の人間がconstがどうのなんて気にするわけないでしょw
「契約相手がそう言ってるなら信用すればよい。違っていたら相手の責任だ。」で終わりだよ
「契約相手がそう言ってるなら信用すればよい。違っていたら相手の責任だ。」で終わりだよ
983デフォルトの名無しさん (ワッチョイ dd01-kcJn)
2019/01/12(土) 11:23:34.77ID:WnhdkTsC0 まあ契約でそうなってても残業するのは作業者だからな。。
バカの言うことなんて信用しないで安全に倒した方が正解だわ。
バカの言うことなんて信用しないで安全に倒した方が正解だわ。
984デフォルトの名無しさん (スップ Sd7a-9pEX)
2019/01/12(土) 11:34:06.80ID:JcHNo1aqd constは付いてないですけど内部で書き換えはしません
なんて仕様書に書いてあるのか
なんて仕様書に書いてあるのか
985デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 12:01:03.58ID:VES9RvQbM void displayText(char* text);
文字列を表示します
text : 表示する文字列
これが仮にtextを書き換えてしまうとして、それをコピーで回避できたとしても、
そんなレベルのゴミがまともに機能するとは到底思えん
そんなことを言い出したらキリがない
文字列を表示します
text : 表示する文字列
これが仮にtextを書き換えてしまうとして、それをコピーで回避できたとしても、
そんなレベルのゴミがまともに機能するとは到底思えん
そんなことを言い出したらキリがない
986デフォルトの名無しさん (ワッチョイ 7a61-V+wx)
2019/01/12(土) 12:48:58.54ID:d9Np0YH50 >>942
1. 要素数を N としたとき、1つの要素の処理に要する時間が O(N) になるか、
O(1) などの違いなので、本質的にハードがいくら良くなっても解決する
問題ではない。O(N) のアルゴリズムは、N が大きくなった場合には、
ハードの良さを台無しにしてしまう。なので、アルゴリズムの選定はとても
重要。
2. 動的配列でも、配列の最後に追加する場合は、リンクリストと遜色ない速度は
出る可能性は十分あるが、配列の途中に追加する場合は、宇宙人でも無理。
3. 逆に、リンクリストの場合は、先頭から数えて、「k 番目の要素」にランダム
にアクセスすることを高速化することは、宇宙人でも無理。
4. 「宇宙人でも無理」の意味が理解できるためには、数学的感性が必要。
理解できない人には理解できないかもしれない。
1. 要素数を N としたとき、1つの要素の処理に要する時間が O(N) になるか、
O(1) などの違いなので、本質的にハードがいくら良くなっても解決する
問題ではない。O(N) のアルゴリズムは、N が大きくなった場合には、
ハードの良さを台無しにしてしまう。なので、アルゴリズムの選定はとても
重要。
2. 動的配列でも、配列の最後に追加する場合は、リンクリストと遜色ない速度は
出る可能性は十分あるが、配列の途中に追加する場合は、宇宙人でも無理。
3. 逆に、リンクリストの場合は、先頭から数えて、「k 番目の要素」にランダム
にアクセスすることを高速化することは、宇宙人でも無理。
4. 「宇宙人でも無理」の意味が理解できるためには、数学的感性が必要。
理解できない人には理解できないかもしれない。
987デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 13:04:53.68ID:VES9RvQbM >>986
問題は、リンクリストの途中に挿入したいとき、予め挿入位置の直前や直後のノードへのポインタを持っていなければならないことだ
そんなケースは現実の開発において殆ど無い
持っていなければ挿入位置に辿り着くまでにO(N)のシーケンシャルアクセスが発生する
そして、リンクリストはメモリアクセスの局所性が欠片もないデータ構造であり、
動的配列と比較してシーケンシャルアクセスのパフォーマンスは極めて劣悪である
問題は、リンクリストの途中に挿入したいとき、予め挿入位置の直前や直後のノードへのポインタを持っていなければならないことだ
そんなケースは現実の開発において殆ど無い
持っていなければ挿入位置に辿り着くまでにO(N)のシーケンシャルアクセスが発生する
そして、リンクリストはメモリアクセスの局所性が欠片もないデータ構造であり、
動的配列と比較してシーケンシャルアクセスのパフォーマンスは極めて劣悪である
988デフォルトの名無しさん (ブーイモ MM71-gN9V)
2019/01/12(土) 13:27:37.63ID:xzy8SRaPM テキストエディタのバッファ管理なんてのが
そのケースなんですけどね
そのケースなんですけどね
989デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 13:33:01.95ID:VES9RvQbM >>988
うん。レアケースだね。
うん。レアケースだね。
990デフォルトの名無しさん (ブーイモ MM71-gN9V)
2019/01/12(土) 13:34:27.13ID:xzy8SRaPM 我田引水の基地と判明
991デフォルトの名無しさん (ワッチョイ 4ea0-N8Dk)
2019/01/12(土) 13:40:34.57ID:Cfay/yS40 >>968
あかん。データを壊したくなかったら、別途コピーしたものを渡すべき。
あかん。データを壊したくなかったら、別途コピーしたものを渡すべき。
992さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ e501-wvXJ)
2019/01/12(土) 13:44:47.40ID:7KwgHC6s0 そろそろ次スレ
993デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/12(土) 14:46:05.16ID:k4bgy+v70 俺の上司とかconstって何?よけいなもんつけんなっていうおじさんだから内政のライブラリは参照でもconst付いてないよ
994デフォルトの名無しさん (ワッチョイ 4a32-VK1S)
2019/01/12(土) 15:06:09.76ID:k4bgy+v70 >>986
で、そのリンクリストがパフォーマンス的に勝るデータ量はおいくらだと思ってる?
大きめの画像くらいのサイズならデータの中央に挿入するとき、リンクをたどって挿入するより再確保、再配置した方がシーケンシャルアクセスになるから早いからな
ハードウェアの特性によりシーケンシャルなコピーは相当速いためPythonで一般的に扱う問題では挿入だろうが何だろうがリンクリストが勝ることはまずない
で、そのリンクリストがパフォーマンス的に勝るデータ量はおいくらだと思ってる?
大きめの画像くらいのサイズならデータの中央に挿入するとき、リンクをたどって挿入するより再確保、再配置した方がシーケンシャルアクセスになるから早いからな
ハードウェアの特性によりシーケンシャルなコピーは相当速いためPythonで一般的に扱う問題では挿入だろうが何だろうがリンクリストが勝ることはまずない
995デフォルトの名無しさん (ブーイモ MMe9-oec2)
2019/01/12(土) 15:20:37.52ID:T5Trh1u0M よくリストの特定位置に挿入を繰り返してリンクリストの方が速いというベンチマークがあるけど、あれもほとんど詐欺なんだよな
動的配列に多数の要素を挿入するなら挿入する要素数分ブロックコピーでずらしてから空けた隙間に書き込むだけだからリンクリストより圧倒的に速い
予め要素数が分からない場合は、いったん別の動的配列に追加していってから纏めて挿入すればよい
動的配列に多数の要素を挿入するなら挿入する要素数分ブロックコピーでずらしてから空けた隙間に書き込むだけだからリンクリストより圧倒的に速い
予め要素数が分からない場合は、いったん別の動的配列に追加していってから纏めて挿入すればよい
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- お前らのボーナス額書いてけ
- 僕が未だに紙の単行本を集めてる漫画が「ご注文はうさぎですか?」「ゆるゆり」「大室家」「邪神ちゃんドロップキック」なんだが
