※前スレ
C++相談室 part154
https://mevius.5ch.net/test/read.cgi/tech/1610096040/
テンプレここまで
探検
C++相談室 part155
■ このスレッドは過去ログ倉庫に格納されています
2021/03/24(水) 12:07:15.39ID:R+oM8cup
2はちみつ餃子 ◆8X2XSCHEME
2021/03/24(水) 13:01:36.77ID:eNnFQgEr 2get
2021/03/24(水) 13:37:00.67ID:uPqg/PBu
msysの thread_local が、わりとちゃんと動くのがありがたい
昔は当たり前にクラッシュしてた
昔は当たり前にクラッシュしてた
2021/03/24(水) 23:24:56.26ID:DDXRo65G
STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
2021/03/25(木) 00:32:41.48ID:BFmdRR/m
たぶん最初に書いた本人以外はだれも気に入ってないと思う
もうやめたほうがいい
もうやめたほうがいい
2021/03/25(木) 13:58:38.53ID:VH1J0VUJ
glslのnoise関数のような、特定の入力に対して、特定の乱数を返すような関数はありますか?C++に
2021/03/25(木) 14:41:00.85ID:Vfj9f3xX
完全に(疑似)乱数でよいのなら、
毎回シード設定すれば入力で一意に決まる乱数値を取得できるけど、それでええのん?
毎回シード設定すれば入力で一意に決まる乱数値を取得できるけど、それでええのん?
2021/03/25(木) 14:43:13.48ID:Vfj9f3xX
例えばこんなの
srand(input);
return rand();
srand(input);
return rand();
2021/03/25(木) 17:26:16.86ID:BFmdRR/m
ハッシュと乱数を混同して質問しているに500ペリカ
2021/03/25(木) 17:48:06.49ID:VH1J0VUJ
12はちみつ餃子 ◆8X2XSCHEME
2021/03/25(木) 18:04:14.88ID:eNzfljpt C++ の乱数生成器 (linear_congruential_engine, mersenne_twister_engine, subtract_with_carry_engine)
は厳密に挙動が定められているので環境によらず同じシードを与えれば同じ乱数列が得られることは保証される。
(余談だが分布生成器 (uniform_int_distribution など) は完全に同一の挙動は保証されない。)
rand は同じシードからは同じ乱数列になるという保証はあるけど、
他の環境に持って行ったとき (別の処理系を使ったとき) に同じになるという保証はない。
乱数の質についても保証がない。
必要な性質がよくわからんのだが、再現性・移植性が重要なら rand はあまりよくない。
は厳密に挙動が定められているので環境によらず同じシードを与えれば同じ乱数列が得られることは保証される。
(余談だが分布生成器 (uniform_int_distribution など) は完全に同一の挙動は保証されない。)
rand は同じシードからは同じ乱数列になるという保証はあるけど、
他の環境に持って行ったとき (別の処理系を使ったとき) に同じになるという保証はない。
乱数の質についても保証がない。
必要な性質がよくわからんのだが、再現性・移植性が重要なら rand はあまりよくない。
2021/03/25(木) 21:06:48.96ID:VH1J0VUJ
自作のXorShiftでやってみようと思います
スレの流れがそんなに速くないようなので後にコードレビューでもお願いするかもです
スレの流れがそんなに速くないようなので後にコードレビューでもお願いするかもです
2021/03/26(金) 07:33:40.04ID:YT9UBnI1
乱数表作るだけだろ
くだらん
くだらん
15はちみつ餃子 ◆8X2XSCHEME
2021/03/26(金) 13:48:17.35ID:OLCpSFIZ コードレビューつってもなぁ、
明らかに未定義を踏んでるとか間違った結果を出力をするとかならともかく、
インターフェイスが綺麗かとか命名が適切がとかいった要素は状況に依存するんで
そこらへんの前提を共有できている状態じゃないと
かなりざっくりした一般論しか言えないと思うよ。
明らかに未定義を踏んでるとか間違った結果を出力をするとかならともかく、
インターフェイスが綺麗かとか命名が適切がとかいった要素は状況に依存するんで
そこらへんの前提を共有できている状態じゃないと
かなりざっくりした一般論しか言えないと思うよ。
2021/03/26(金) 14:17:07.80ID:xeE+mVbe
7ですが、すいませんでした
場違いだったようなのですべて撤回します
場違いだったようなのですべて撤回します
2021/03/26(金) 17:49:14.73ID:Bae43LUT
QZあたりが疑似乱数の理論について本一冊分ぐらい語るのではなかったの???
2021/03/26(金) 17:50:06.84ID:Bae43LUT
乱数表をどうやって作るつもりなのかとそこはかとなく疑問が………
2021/03/26(金) 19:01:34.23ID:Rskx+UE5
ラジウムとガイガーカウンターでも使うんだろ
2021/03/26(金) 20:57:56.27ID:Bae43LUT
ガイガーカウンターは放射線源が強力だとカウントミスりそうであんまり高速な乱数生成に向かない
という印象
という印象
2021/03/26(金) 22:44:42.48ID:Bae43LUT
ていうか量子乱数発生器はスタジアムや野球場など人間が数千人〜数万人規模で集まり
興奮するようなところで量子乱数発生器を使うと乱数発生が偏るという実験結果がある
とモーガンフリーマンが言ってたから信頼できない
やっぱ第一選択はシードを19936ビットフルい与えてのmersenne_twister_engineなのでは……
興奮するようなところで量子乱数発生器を使うと乱数発生が偏るという実験結果がある
とモーガンフリーマンが言ってたから信頼できない
やっぱ第一選択はシードを19936ビットフルい与えてのmersenne_twister_engineなのでは……
2021/03/26(金) 23:42:48.79ID:uaj8R912
ハッシュと乱数を混同してただけでしょ
>>17
大抵の用途には、私は MT を使いますね…
大抵の用途には、私は MT を使いますね…
24はちみつ餃子 ◆8X2XSCHEME
2021/03/27(土) 00:35:45.49ID:Ly0w36WW メルセンヌツイスタは統計的な性質は良いが状態がやや大きい (普通のパソコンではもはや気にしないでよいレベルだが) ので、
いつでも選択するには過剰な気もする。
いつでも選択するには過剰な気もする。
25デフォルトの名無しさん
2021/03/27(土) 00:52:36.37ID:tZBSsbg+ スレの流れをぶった切って申し訳ない
boostってもういらなくなったの?
15年ぶりにC++でプログラミングすることになったので
その辺の事情がよく分かりません
boostってもういらなくなったの?
15年ぶりにC++でプログラミングすることになったので
その辺の事情がよく分かりません
2021/03/27(土) 00:54:27.35ID:3iQ+aU3D
当然要るよ
多次元配列クラスとかまだSTLに入ってない
多次元配列クラスとかまだSTLに入ってない
27はちみつ餃子 ◆8X2XSCHEME
2021/03/27(土) 01:11:01.48ID:Ly0w36WW 個別には Boost 以外の選択肢もあると思うけどある程度に統一されてないと扱いづらいし、
Boost にあるものは Boost を使っておくのが無難な選択には違いないと思うよ。
Boost にあるものは Boost を使っておくのが無難な選択には違いないと思うよ。
2021/03/27(土) 01:17:35.37ID:1M7dxEop
boostはヘッダライブラリ自称してる割にビルド必要で使いづらいねん
29はちみつ餃子 ◆8X2XSCHEME
2021/03/27(土) 01:26:03.40ID:Ly0w36WW30デフォルトの名無しさん
2021/03/27(土) 02:13:45.76ID:FxCpf6Ea ヘッダのみで使えると過剰に宣伝してるライブラリが多い。
と、あわしろ氏が申しておりました。
と、あわしろ氏が申しておりました。
2021/03/27(土) 02:17:07.41ID:p6NWEZH2
あわしろってキンコン西野みたいなもん?
2021/03/27(土) 08:19:32.12ID:MzcivD4R
ビルド必要なのは別にいいけどbjamが糞すぎるからさっさと捨てて欲しい
2021/03/28(日) 12:33:00.93ID:11viivYN
class hoge{
public:
constexpr static int aaa[2] = { 1, 2};
static hoge get_hoge();
}
hage::hage()
{
hoge *_hoge = hage::get_hoge();
int tmp;
int i = 0;
tmp = _hoge->aaa[i];
}
とすると、ビルド時、undefined reference to `hoge::aaa'と出るけど、
tmp = _hoge->aaa[0];とするとエラーが出ない
これってなぜ起きて、どうやったら変数を使ってアクセスできるようになるの?
開発環境はSTM32CubeIDEのver1.6.0
public:
constexpr static int aaa[2] = { 1, 2};
static hoge get_hoge();
}
hage::hage()
{
hoge *_hoge = hage::get_hoge();
int tmp;
int i = 0;
tmp = _hoge->aaa[i];
}
とすると、ビルド時、undefined reference to `hoge::aaa'と出るけど、
tmp = _hoge->aaa[0];とするとエラーが出ない
これってなぜ起きて、どうやったら変数を使ってアクセスできるようになるの?
開発環境はSTM32CubeIDEのver1.6.0
2021/03/28(日) 13:05:07.76ID:hha5l0Ce
ちらちら混ざってる hage は hoge の間違いなのか何か別物なのか。
35はちみつ餃子 ◆8X2XSCHEME
2021/03/28(日) 13:05:58.70ID:IQVnw+L72021/03/28(日) 13:47:16.98ID:5/FvdRpo
>>35
うそやん?
うそやん?
2021/03/28(日) 17:41:23.48ID:11viivYN
2021/03/28(日) 19:20:58.11ID:PRWHgvt6
三段活用はhoge、fuga、piyoだろ!常識だぞ
ハゲとか言う人にはもう教えません
ハゲとか言う人にはもう教えません
2021/03/28(日) 19:23:19.81ID:YX9+FjRw
piyoは初めてみるな
2021/03/28(日) 20:20:31.89ID:W2vCV6FV
2021/03/28(日) 21:37:33.38ID:hha5l0Ce
>>37
> constexpr static int aaa[2] = { 1, 2};
クラススコープの↑は変数の定義に見えるけど実は宣言でしかなくて、プログラム中に実体を置くには別途定義が要る。
ただし const な整数型や constexpr な変数が定数式の文脈で即座に値として利用される場合はコンパイル時に直接定数として
置き換えられるので、定義が無くてもビルドできる。
定数 0 ではなく変数 i を添え時にすると定数式ではなくなるので定義が必要になる。
> constexpr static int aaa[2] = { 1, 2};
クラススコープの↑は変数の定義に見えるけど実は宣言でしかなくて、プログラム中に実体を置くには別途定義が要る。
ただし const な整数型や constexpr な変数が定数式の文脈で即座に値として利用される場合はコンパイル時に直接定数として
置き換えられるので、定義が無くてもビルドできる。
定数 0 ではなく変数 i を添え時にすると定数式ではなくなるので定義が必要になる。
2021/03/28(日) 22:16:07.85ID:11viivYN
>>42
分かったようなわかんないような感じなんだけど、
例えば、
class hoge{
public:
constexpr static int aaa[2];
static hoge get_hoge();
}
hoge::aaa[2] = {1, 2};
みたいにするってこと?
分かったようなわかんないような感じなんだけど、
例えば、
class hoge{
public:
constexpr static int aaa[2];
static hoge get_hoge();
}
hoge::aaa[2] = {1, 2};
みたいにするってこと?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【高市悲報】英テレグラフ紙「おい、日本会議に所属する偽サッチャーが債券市場を破壊してるぞ」🥺 [359965264]
- 【速報】中国人の凶悪犯罪が急増!害国人の変遷、韓国→ベトナム→中国へ🏡
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 【悲報】ジャップ、国際海峡の津軽海峡を中国海警局の船が通過しただけで何故かブチギレる🥹 [616817505]
- 高市首相「コメ増産を進める」 [834922174]
