前スレ
C++相談室 part157
https://mevius.5ch.net/test/read.cgi/tech/1628474251/
C++相談室 part158
■ このスレッドは過去ログ倉庫に格納されています
2021/11/15(月) 18:49:18.44ID:I69rZ/Of
536デフォルトの名無しさん
2021/12/24(金) 09:22:45.08ID:opQHMY4K537デフォルトの名無しさん
2021/12/24(金) 09:25:48.61ID:ZnDQBfvC 練習と本番を一緒くたにしてるな
まさに現場の癌だったと自白してるようなものだ
まさに現場の癌だったと自白してるようなものだ
538デフォルトの名無しさん
2021/12/24(金) 09:28:20.47ID:opQHMY4K まさにお前がな
539デフォルトの名無しさん
2021/12/24(金) 09:30:24.34ID:opQHMY4K コロコロID変わる質問者兼劣悪回答者の荒らしで、そもそも勤務経験なさそう、と思ってるよ
540デフォルトの名無しさん
2021/12/24(金) 09:31:16.13ID:6d0f054m >>536
現役離れてずいぶん経つの?
実務やってれば仕様書の文章があいまいで実際に動かさないと理解できないってことがいくらでもあるでしょ
「仕様書はない、ソースのみ(キリッ」という状況なんて普通なはずだが
現役離れてずいぶん経つの?
実務やってれば仕様書の文章があいまいで実際に動かさないと理解できないってことがいくらでもあるでしょ
「仕様書はない、ソースのみ(キリッ」という状況なんて普通なはずだが
541デフォルトの名無しさん
2021/12/24(金) 09:32:13.38ID:6d0f054m 教わるとか受け身かよ、アホかと
学ぶんだろ
学ぶんだろ
542デフォルトの名無しさん
2021/12/24(金) 09:35:00.51ID:6d0f054m 上司が「お前は触るな」と言いたいのをオブラートに包んで「理解してから触れ」と言われたクチだろう
できないPGだった証拠
できないPGだった証拠
543デフォルトの名無しさん
2021/12/24(金) 09:36:56.46ID:6d0f054m 「理解してから使え」なんて、危なっかしい無能な人を開発現場から穏便に排除する時に使う言葉だよ
544デフォルトの名無しさん
2021/12/24(金) 09:42:48.15ID:6d0f054m 肩叩きされていたことに気づけないくらいに読解力が低い
545デフォルトの名無しさん
2021/12/24(金) 09:48:44.26ID:ZnDQBfvC 「理解してから使え」
「はい、理解してきます」
「理解しました!今度こそ大丈夫です」←わかった気になってるが自分が何を分かっていないのかがわからない
「はい、理解してきます」
「理解しました!今度こそ大丈夫です」←わかった気になってるが自分が何を分かっていないのかがわからない
546デフォルトの名無しさん
2021/12/24(金) 09:54:19.02ID:6d0f054m 普通は他人に迷惑かけることなく作業しろ、って言えば良いいんだけど、
察するに上司はそれまでの積み重ねで追放する気満々だったんじゃないかな
察するに上司はそれまでの積み重ねで追放する気満々だったんじゃないかな
547デフォルトの名無しさん
2021/12/24(金) 10:05:26.45ID:6d0f054m unique_ptrやshared_ptrは初心者でもコンパイラのエラーや警告に従うだけで安全にコードを書けるようになるからおススメだと思うよ
もちろん頓珍漢な警告メッセージを出力する不親切なコンパイラだとそうはいかないが
もちろん頓珍漢な警告メッセージを出力する不親切なコンパイラだとそうはいかないが
548デフォルトの名無しさん
2021/12/24(金) 12:58:00.18ID:a16a8gMY 下らない煽りを何回にも分けて書くな無能
549デフォルトの名無しさん
2021/12/25(土) 15:17:39.58ID:miWR5HNI コールバックや別スレッドに渡すインスタンスの生成であっても
new演算子を使わねばならない必然性は無いので
ていうかnewしたブツを渡した先でdeteteさせる設計のは
newしたコードとdeleteするコードが同じCRTでないと危険なので
異なるプロジェクトの間でやるのは一般にアンチパターンなので
1. そもそも渡さない(利用するスレッドに生成させる
2. (どうしても渡したい場合は)コピーして渡す
3. オブジェクトの所有権を渡す側のスレッドが握って生存期間が利用期間を包含することを保証する
のどれかなので
new演算子を使わねばならない必然性は無いので
ていうかnewしたブツを渡した先でdeteteさせる設計のは
newしたコードとdeleteするコードが同じCRTでないと危険なので
異なるプロジェクトの間でやるのは一般にアンチパターンなので
1. そもそも渡さない(利用するスレッドに生成させる
2. (どうしても渡したい場合は)コピーして渡す
3. オブジェクトの所有権を渡す側のスレッドが握って生存期間が利用期間を包含することを保証する
のどれかなので
550デフォルトの名無しさん
2021/12/25(土) 15:18:01.17ID:miWR5HNI 少なくともウィンドーズのDLLはDllMain()を有する1本のプログラム同然なので
Ver.0.1のCRTをスタティックリンクしたDLLというものが作れてしまうので
Ver.0.2のCRTとリンクされるコードで生成したオブジェクトのポインタを渡せてしまうので
Ver.0.1のCRTをスタティックリンクしたDLLというものが作れてしまうので
Ver.0.2のCRTとリンクされるコードで生成したオブジェクトのポインタを渡せてしまうので
551デフォルトの名無しさん
2021/12/25(土) 15:49:34.78ID:/YMztZoD のでので言ってるだけで結論がない
頭悪そう
頭悪そう
552デフォルトの名無しさん
2021/12/25(土) 21:39:56.11ID:0AIK3bm0 ActiveX系使ったことないんだろうなって容易に推測でける
553デフォルトの名無しさん
2021/12/25(土) 23:47:20.34ID:miWR5HNI しらそん
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
554デフォルトの名無しさん
2021/12/26(日) 01:42:46.74ID:Fmrpdwj0 アウトプロセス
555デフォルトの名無しさん
2021/12/26(日) 02:08:50.44ID:rFpP4pcL しらそん
アウトプロセスサーバが生成する
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
なので
アウトプロセスサーバが生成する
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
なので
556デフォルトの名無しさん
2021/12/26(日) 02:10:54.75ID:P9feSsDc 自演って見苦しいな
557デフォルトの名無しさん
2021/12/26(日) 05:25:00.76ID:0FjCQ3kx558デフォルトの名無しさん
2021/12/26(日) 05:43:12.94ID:a8PAglQ+559デフォルトの名無しさん
2021/12/26(日) 07:28:31.98ID:z66Mwoku sin関数に入れる時間変数の値が大きくなるにつれ誤差が増えていって困ってます
fmod関数を使ってもあまり効果が見られませんでした
処理時間をそれほどかけずに解決出来る良い案何かありますか?
sin関数に入れる値の目安は100万くらいです
fmod関数を使ってもあまり効果が見られませんでした
処理時間をそれほどかけずに解決出来る良い案何かありますか?
sin関数に入れる値の目安は100万くらいです
560デフォルトの名無しさん
2021/12/26(日) 09:18:24.17ID:6eMF2SNy 100万をsin()しても、sin()は2π周期
doubleの精度15桁中の5桁以上を無駄にしている
sin()する用変数で毎回fmod(,2π)してもそこで誤差が貯まりそう
boost::multiprecisionとか?
doubleの精度15桁中の5桁以上を無駄にしている
sin()する用変数で毎回fmod(,2π)してもそこで誤差が貯まりそう
boost::multiprecisionとか?
561デフォルトの名無しさん
2021/12/26(日) 09:35:40.45ID:/woV9P1D 出来るなら入れる数を作る時点で[0,2pi)に収まるように工夫する
それが無理なら多倍長浮動小数点数のライブラリ使うか自作するか
それが無理なら多倍長浮動小数点数のライブラリ使うか自作するか
562デフォルトの名無しさん
2021/12/26(日) 10:28:27.14ID:a8PAglQ+ >>559
sinの引数に入れる値を浮動小数点数で少しずつ足しこむような処理をしているなら、やめて別の方法を考えろ
sinの引数に入れる値を浮動小数点数で少しずつ足しこむような処理をしているなら、やめて別の方法を考えろ
563デフォルトの名無しさん
2021/12/26(日) 11:32:37.05ID:SV9DgXqP564デフォルトの名無しさん
2021/12/26(日) 12:03:23.64ID:/woV9P1D sinのテイラー展開にxの大きな累乗が現れるからだよ
100万をバンバン累乗した級数で値域[-1,1]の関数計算してたら誤差まみれになるのは直感的に分かるだろ
100万をバンバン累乗した級数で値域[-1,1]の関数計算してたら誤差まみれになるのは直感的に分かるだろ
565デフォルトの名無しさん
2021/12/26(日) 12:47:17.91ID:6eMF2SNy >>563
318310 * pi が100万に近い2piの倍数
https://keisan.casio.jp/calculator で、14桁で計算する
2 * pi = 6.2831853071796
sin(6.2831853071796) = 1.3523E-14
318310 * pi = 1000000.3575642
sin(1000000.3575642) = 3.291426496E-8
わかった?
桁数同じだから、でかい数は細かい所が消えるのよ
318310 * pi が100万に近い2piの倍数
https://keisan.casio.jp/calculator で、14桁で計算する
2 * pi = 6.2831853071796
sin(6.2831853071796) = 1.3523E-14
318310 * pi = 1000000.3575642
sin(1000000.3575642) = 3.291426496E-8
わかった?
桁数同じだから、でかい数は細かい所が消えるのよ
566デフォルトの名無しさん
2021/12/26(日) 15:05:31.07ID:N3NYq5+A わかんない。
567デフォルトの名無しさん
2021/12/26(日) 15:55:33.50ID:SV9DgXqP568デフォルトの名無しさん
2021/12/26(日) 16:03:55.94ID:6s7ujcJo569デフォルトの名無しさん
2021/12/26(日) 17:28:50.32ID:6eMF2SNy 「桁数同じだから、でかい数は細かい所が消える」が理屈のつもりなんだけど…
sin(6.2831853) = -7.179586477E-9 だし、
sin(1000000.3575641670857) = -3.5E-14 だよ
sin(6.2831853) = -7.179586477E-9 だし、
sin(1000000.3575641670857) = -3.5E-14 だよ
570デフォルトの名無しさん
2021/12/26(日) 17:52:52.66ID:6eMF2SNy sin()の結果に13桁の精度が欲しいなら、入力値に小数点以下13桁の精度が要るのよ
sin()は2piの周期関数だから
1000000の所に7桁も使っちゃうのはもったいないのよ
sin()は2piの周期関数だから
1000000の所に7桁も使っちゃうのはもったいないのよ
571デフォルトの名無しさん
2021/12/26(日) 19:17:02.92ID:P9feSsDc まだ小学校の算数で分かる誤差の話してんの?
>>560で話終わらん奴は小学校からやり直せよ
>>560で話終わらん奴は小学校からやり直せよ
572デフォルトの名無しさん
2021/12/26(日) 19:41:54.46ID:qnixUQRF 桁に関する誤差とかどこの世界の小学校で習うんだよ
573デフォルトの名無しさん
2021/12/26(日) 22:29:03.39ID:Ep2AbKxF お前は小学校の国語からやり直せw
>> まだ「小学校の算数で分かる」誤差の話してんの?
誰も小学校で習うなんて言ってないぞ
>> まだ「小学校の算数で分かる」誤差の話してんの?
誰も小学校で習うなんて言ってないぞ
574デフォルトの名無しさん
2021/12/26(日) 22:43:40.78ID:RjefXsAR log1pの存在理由も似たような話だね
575デフォルトの名無しさん
2021/12/26(日) 23:16:02.57ID:P9feSsDc 俺小学4年生で級数展開したπの計算してたけど・・・
6年生でアセンブラと実数使ってたけど・・・
6年生でアセンブラと実数使ってたけど・・・
576デフォルトの名無しさん
2021/12/27(月) 08:46:39.54ID:B/I2o19O 教える奴もよく分かってないからめちゃくちゃになってる
基本的には大きい数についても>>563の考え「x も sin(x) も上から15桁全部有効な桁」で合ってる
sin() が 0 になるケースを考えてるからややこしいんだよ
sin() が 1 になるケース、つまり pi/2 の奇数倍で 100 万に近い数を入れてみろ
そしたらちゃんと 15 桁くらい 1 になるから
0 がややこしい理由は、仮数部が何であっても良いから
例えば 1e-20 は仮数部には1桁目からゴミが入っているが、倍精度ではゼロと見なす
基本的には大きい数についても>>563の考え「x も sin(x) も上から15桁全部有効な桁」で合ってる
sin() が 0 になるケースを考えてるからややこしいんだよ
sin() が 1 になるケース、つまり pi/2 の奇数倍で 100 万に近い数を入れてみろ
そしたらちゃんと 15 桁くらい 1 になるから
0 がややこしい理由は、仮数部が何であっても良いから
例えば 1e-20 は仮数部には1桁目からゴミが入っているが、倍精度ではゼロと見なす
577デフォルトの名無しさん
2021/12/27(月) 10:35:52.12ID:wn+BpFxZ578デフォルトの名無しさん
2021/12/27(月) 18:35:09.36ID:osgcVgi4 uniform_real_distribution の範囲を可変にしたいときってどうしたら良いでしょうか
0 から 1 までの実数を生成するようにしてそれを変数変換するべきですか
0 から 1 までの実数を生成するようにしてそれを変数変換するべきですか
579デフォルトの名無しさん
2021/12/27(月) 19:02:31.64ID:DQqD3vMw っparam
580デフォルトの名無しさん
2021/12/27(月) 20:26:27.31ID:7ufKNB24581デフォルトの名無しさん
2021/12/27(月) 20:45:16.64ID:7ufKNB24 「x も上から15桁全部有効な桁」だからこそ、
1000000の所に7桁も使っちゃうのはもったいないのよ
sin(x)=0の所は微分が1または-1、入力のずれがそのまま出力に出る所
1000000の所に7桁も使っちゃうのはもったいないのよ
sin(x)=0の所は微分が1または-1、入力のずれがそのまま出力に出る所
582デフォルトの名無しさん
2021/12/28(火) 01:04:16.62ID:OVEU2JJm 厳密な2πnと、doubleで表した有効桁数15桁の大体2πnに近い数字の差を計算すると、nが大きくなるほど差がデカくなってくるってだけの話じゃないの?
浮動小数点数は0から離れれば離れるほど目盛りが大きくなっていくのだから。
sinの実装がマクローリン級数展開でなくても起こる問題だと思うが。
浮動小数点数は0から離れれば離れるほど目盛りが大きくなっていくのだから。
sinの実装がマクローリン級数展開でなくても起こる問題だと思うが。
583デフォルトの名無しさん
2021/12/28(火) 01:43:08.31ID:NIM0c1vY 小学生多すぎじゃないか?
584デフォルトの名無しさん
2021/12/28(火) 09:17:10.46ID:p+qHklGW おまえさん1人だろ
中学以後、いつ何を習うか知らないようだが
中学以後、いつ何を習うか知らないようだが
585デフォルトの名無しさん
2021/12/29(水) 21:49:37.03ID:+eZ32Uo6 >1e-20 は仮数部には1桁目からゴミが入っているが、倍精度ではゼロと見なす
mjk、
IEEE754の2進数形式の倍精度浮動小数点表示は
仮数部がケチ表現の52 bit(実質53 bit)で
指数部は-1022〜+1023なのやぞ
1e-20とか1×2^(-60)かそこらなので無問題で53 bit(=15.9桁)の精度ェ、
mjk、
IEEE754の2進数形式の倍精度浮動小数点表示は
仮数部がケチ表現の52 bit(実質53 bit)で
指数部は-1022〜+1023なのやぞ
1e-20とか1×2^(-60)かそこらなので無問題で53 bit(=15.9桁)の精度ェ、
586デフォルトの名無しさん
2021/12/29(水) 21:55:43.45ID:+eZ32Uo6 >sin(x)=0の所は微分が1または-1、入力のずれがそのまま出力に出る所
x << 1のとき
sin(x) ≒ x
であることの見事な工学的応用、
x << 1のとき
sin(x) ≒ x
であることの見事な工学的応用、
587デフォルトの名無しさん
2021/12/29(水) 21:57:34.77ID:+eZ32Uo6 まつがえた |x| << 1 やったorz
588デフォルトの名無しさん
2021/12/30(木) 01:48:03.91ID:L6Vpkxay よっしゃ、よっしゃ、おっちゃんがいいもん作ったろう
https://ideone.com/fjxKtS
n=0,10000, 20000, 30000, ...,1000000 (とりあえず10000刻み)として、
2分探索でsin(x)=0となるxを、2π*n付近について調べてやった
そうやって求めたxをM_PIで割った結果はきっちり2*nになるから
sin(x)がxの周期関数だからといって必ずしもxの増大につれ誤差が増えるわけではないことがワカル
sin_valの値(=sin(x))が0に対して増えたり減ったりするのはマクローリン展開の近似多項式の係数を
結果があたりさわりのない誤差範囲でうろうろするように調整してあるんだろJK、
https://ideone.com/fjxKtS
n=0,10000, 20000, 30000, ...,1000000 (とりあえず10000刻み)として、
2分探索でsin(x)=0となるxを、2π*n付近について調べてやった
そうやって求めたxをM_PIで割った結果はきっちり2*nになるから
sin(x)がxの周期関数だからといって必ずしもxの増大につれ誤差が増えるわけではないことがワカル
sin_valの値(=sin(x))が0に対して増えたり減ったりするのはマクローリン展開の近似多項式の係数を
結果があたりさわりのない誤差範囲でうろうろするように調整してあるんだろJK、
589デフォルトの名無しさん
2021/12/30(木) 01:51:27.40ID:L6Vpkxay590デフォルトの名無しさん
2021/12/30(木) 02:32:05.49ID:7UdZ08Kf >>588
結果見たけど、sin_valの値は、きっちり0から10000になったときに5桁精度悪化してるし、100000で6桁精度悪化してるのでは…?
結果見たけど、sin_valの値は、きっちり0から10000になったときに5桁精度悪化してるし、100000で6桁精度悪化してるのでは…?
591デフォルトの名無しさん
2021/12/30(木) 07:31:31.40ID:xtSEOuqd592デフォルトの名無しさん
2021/12/30(木) 11:37:53.79ID:ZhVAaRAF まだやってたのか小学生・・・ID変えてご苦労様
593デフォルトの名無しさん
2021/12/30(木) 11:39:17.39ID:ZhVAaRAF 何度も言ってるが>>560でこの話は終了している
594デフォルトの名無しさん
2021/12/30(木) 12:38:33.70ID:A3EHubzP 質問主が現れないからもう何議論しても無駄な気がする
ソースコードがあるわけでもないし
100万程度で誤差ヤバい言うぐらいだからfloatで計算してないか疑たくもなる
ソースコードがあるわけでもないし
100万程度で誤差ヤバい言うぐらいだからfloatで計算してないか疑たくもなる
595デフォルトの名無しさん
2021/12/30(木) 14:43:33.58ID:Wt/MKF34 誰も計算機上のゼロについて理解できてない
596デフォルトの名無しさん
2021/12/30(木) 16:49:59.36ID:uaiyfMI5 もまいら、浮動小数点のゼロ判定どうしてる?
597デフォルトの名無しさん
2021/12/31(金) 00:22:01.38ID:kcosmPcn vectorでクラスへのポインタを持ってて、それを参照で受け取る関数を作るとき、クラスの変更を禁止したいんですが、どうすればいいですか?
例えば、
struct testclass{
int member;
};
というクラスがあって、
vector<testclass*>
を参照渡しで受け取る関数を作るとき、引数をconst vector<testclass*>& vecとしてもvec[0]->member =0みたいなクラスのメンバ変数の変更は関数の中で出来てしまうと思うのですが、そういうのをできないようにしたいです(testclassの変更が無いことを関数宣言で保証したいです)
何か良い方法ありますか?
vectorが1重であればtestclass const*const*を引数にすればいいとは思うのですが、vector<vector<testclass*>>のように多重vectorみたいな場合も作りたくて、そのときは関数を呼ぶ側で多重vectorから多重配列に変換するのは面倒なので、できればvectorではなく配列を使うというのはしたくないです
例えば、
struct testclass{
int member;
};
というクラスがあって、
vector<testclass*>
を参照渡しで受け取る関数を作るとき、引数をconst vector<testclass*>& vecとしてもvec[0]->member =0みたいなクラスのメンバ変数の変更は関数の中で出来てしまうと思うのですが、そういうのをできないようにしたいです(testclassの変更が無いことを関数宣言で保証したいです)
何か良い方法ありますか?
vectorが1重であればtestclass const*const*を引数にすればいいとは思うのですが、vector<vector<testclass*>>のように多重vectorみたいな場合も作りたくて、そのときは関数を呼ぶ側で多重vectorから多重配列に変換するのは面倒なので、できればvectorではなく配列を使うというのはしたくないです
598デフォルトの名無しさん
2021/12/31(金) 00:36:47.69ID:ysmsTKqS599デフォルトの名無しさん
2021/12/31(金) 05:02:18.38ID:zF3P5q1E600デフォルトの名無しさん
2021/12/31(金) 05:10:34.66ID:zF3P5q1E ちなみにsinがゼロのとこは微分が1か-1でsinが1のとこは微分がゼロだから違うってのは、事実だが今回の事象の説明としては感覚的に過ぎるね
なぜならf(x) = xなる関数は微分は1だが f(1000000.3575642) は14桁正しいw
sinの挙動について理解したいなら実装に踏み込むしかないよ
あるいは>>576あたりで思考停止しとくか
なぜならf(x) = xなる関数は微分は1だが f(1000000.3575642) は14桁正しいw
sinの挙動について理解したいなら実装に踏み込むしかないよ
あるいは>>576あたりで思考停止しとくか
601デフォルトの名無しさん
2021/12/31(金) 06:37:46.15ID:qJZ2APUI >>597
アクセスを厳密に禁止したいなら、配列操作のみ定義したラッパークラスを用意して渡したほうが良い。
アクセスを厳密に禁止したいなら、配列操作のみ定義したラッパークラスを用意して渡したほうが良い。
602デフォルトの名無しさん
2021/12/31(金) 08:06:29.68ID:FnYy2lty んだね
603デフォルトの名無しさん
2021/12/31(金) 08:45:47.76ID:FPee+d5o クラス T のメンバ関数で自身のコピーを返す(つまり返り値の型が T)ものを考える
メンバ関数の修飾が && のときは std::move(*this) とかしたいけどこれはいちいち書かないとダメ?
普通は std::forward で統一できるが
メンバ関数の修飾が && のときは std::move(*this) とかしたいけどこれはいちいち書かないとダメ?
普通は std::forward で統一できるが
604デフォルトの名無しさん
2021/12/31(金) 09:05:22.16ID:FnYy2lty *thisはxvalueではないからムブコンに渡したければstd::move()か(T&&)がいるね
605デフォルトの名無しさん
2021/12/31(金) 11:52:30.35ID:kcosmPcn606デフォルトの名無しさん
2021/12/31(金) 14:47:55.66ID:fEOKhR13 instance.field; が暗黙のうちに書き変わらないだけでも効果あるんだよ
void f(T&t){ t.clear();}
f(instance.field);
うっかりこんなことしたらヤバいし
const T& get_field() const;
を使っとけばコンパイル時エラーにしてくれる
>>597 冒頭の質問なら、参照渡し引数に
void f(const T&);
のようにconstつけとけばいい
void f(T&t){ t.clear();}
f(instance.field);
うっかりこんなことしたらヤバいし
const T& get_field() const;
を使っとけばコンパイル時エラーにしてくれる
>>597 冒頭の質問なら、参照渡し引数に
void f(const T&);
のようにconstつけとけばいい
607デフォルトの名無しさん
2021/12/31(金) 15:16:00.18ID:7kXupeFa608デフォルトの名無しさん
2022/01/04(火) 07:21:58.04ID:5hvio7Nh Packtpubが不安定になってるんだけど。
見れますか?
見れますか?
609デフォルトの名無しさん
2022/01/05(水) 21:49:37.99ID:2R8vvmqQ クラステンプレートについて、明示的実体化しておけば実装を.cppでもできるというのを知ったのですが、その場合、テンプレートでない普通のクラスと同じように
部分的にヘッダに実装を書いて、残りを.cppに書く、というのは正式な書き方として許されるでしょうか?
部分的にヘッダに実装を書いて、残りを.cppに書く、というのは正式な書き方として許されるでしょうか?
610デフォルトの名無しさん
2022/01/05(水) 22:24:10.67ID:tiBxT68+ 許される。
611デフォルトの名無しさん
2022/01/05(水) 22:48:02.56ID:2R8vvmqQ >>610
ありがとうございます!
ありがとうございます!
612デフォルトの名無しさん
2022/01/06(木) 15:12:35.27ID:C9LB+2SX その昔、exportテンプレートというのがあってだな
613デフォルトの名無しさん
2022/01/07(金) 00:07:55.52ID:UgPywUlD class T;
class C {
public:
T t;
};
とあったとき
C c{T()};
と集成体初期化を行うと T のコンストラクタが1回だけ呼ばれます
メンバ t をカプセル化してコンストラクタを自分で用意するとどうやっても T のムーヴコンストラクタが余計に1回呼ばれてしまうと思ったのですが回避する方法はありますか?
class C {
public:
T t;
};
とあったとき
C c{T()};
と集成体初期化を行うと T のコンストラクタが1回だけ呼ばれます
メンバ t をカプセル化してコンストラクタを自分で用意するとどうやっても T のムーヴコンストラクタが余計に1回呼ばれてしまうと思ったのですが回避する方法はありますか?
614デフォルトの名無しさん
2022/01/07(金) 02:01:17.79ID:uUhimsKL615デフォルトの名無しさん
2022/01/07(金) 20:51:50.26ID:UgPywUlD >>614
ありがとうございます!
ありがとうございます!
616デフォルトの名無しさん
2022/01/09(日) 10:55:01.80ID:7BGFeByJ >>597
配列の定義を vector<const testclass*> にすればよくない?
配列の定義を vector<const testclass*> にすればよくない?
617デフォルトの名無しさん
2022/01/09(日) 11:30:20.08ID:BcvcYHng 外では変更するけど関数内では変更しないことを明示したいんでしょ
618デフォルトの名無しさん
2022/01/12(水) 09:32:50.44ID:kvnPCGqB 関数の定義で
auto foo() -> void{}
みたいに書くの見かけたけどこのやり方何かメリットありますか?
auto foo() -> void{}
みたいに書くの見かけたけどこのやり方何かメリットありますか?
619デフォルトの名無しさん
2022/01/12(水) 12:16:01.64ID:SK9+pElf あるね
auto s = std::string{"test"};
みたいな宣言とかも
auto s = std::string{"test"};
みたいな宣言とかも
620デフォルトの名無しさん
2022/01/12(水) 12:26:17.78ID:Z0p/7uhd >>618は型推論効いてないやん
621デフォルトの名無しさん
2022/01/12(水) 12:28:40.33ID:VUzGdiiG 戻り値の型を->の先に書いてあるだけだよ。
だからこれはvoid型の戻り値ね。
利点は引数からdecltype使って戻り値の型を指定できるくらいじゃない?
だからこれはvoid型の戻り値ね。
利点は引数からdecltype使って戻り値の型を指定できるくらいじゃない?
622デフォルトの名無しさん
2022/01/12(水) 13:45:01.07ID:uq5/9jO3623はちみつ餃子 ◆8X2XSCHEME
2022/01/12(水) 13:59:43.98ID:7Sv8jpqL ラムダ式で返却値の型をどう書くかというのが後置スタイルを導入した直接の動機だと思う。
普通の関数で後置にするメリットがない場合であっても、
メリットがある場合とない場合で区別して使い分けるよりは全部を後置で一貫させたほうが綺麗だと思うこともあるだろ。
普通の関数で後置にするメリットがない場合であっても、
メリットがある場合とない場合で区別して使い分けるよりは全部を後置で一貫させたほうが綺麗だと思うこともあるだろ。
624デフォルトの名無しさん
2022/01/12(水) 17:10:39.04ID:VRtGvzgV みずほが復旧をあきらめるとかどうみてもfukkyu
625デフォルトの名無しさん
2022/01/12(水) 18:43:03.08ID:NICGWYWs 人がつくったものネットから持ってきて何個も組み合わせて合体させるとみずほみたいになるんだろうな
自分で作ってない部分はメンテしようがないからな
自分で作ってない部分はメンテしようがないからな
626デフォルトの名無しさん
2022/01/12(水) 19:53:35.19ID:UH3nST5b Windows serverにしたのが最大の間違い。
627デフォルトの名無しさん
2022/01/12(水) 20:51:55.49ID:VUzGdiiG std::stringの大文字を全て小文字に変換するのってstd::transformより良いものあるの?
628デフォルトの名無しさん
2022/01/12(水) 22:50:55.12ID:VRtGvzgV Windowsで文字列中の大文字を小文字に変換する_mbslwr()って今やランタイムで使えなくなってんだね、知らんかったわ
629蟻人間 ◆T6xkBnTXz7B0
2022/01/12(水) 23:14:22.56ID:htST1fFk CharLower
CharLowerBuff
CharLowerBuff
630デフォルトの名無しさん
2022/01/13(木) 21:50:13.52ID:bN4t5i1e c++のexe → ライブラリA(c++のdll)
と
c++のcリンケージのdll → ライブラリA(c++のdll)
で
同じライブラリの同じ関数を呼び出してるのに
呼び出し元の形態によって挙動が変わるなんてこと有り得ますか?
と
c++のcリンケージのdll → ライブラリA(c++のdll)
で
同じライブラリの同じ関数を呼び出してるのに
呼び出し元の形態によって挙動が変わるなんてこと有り得ますか?
631デフォルトの名無しさん
2022/01/13(木) 22:14:06.74ID:+PFReeTS ライブラリも呼び出し元も外部の同名のdllをリンクしているけれども
呼び出し元が参照しているdllの実体が別だったとか。
呼び出し元が参照しているdllの実体が別だったとか。
632デフォルトの名無しさん
2022/01/14(金) 09:16:33.28ID:ovvIshUS struct Vector2 { float x, y; };のような64bitで済んでしまうものの計算にSSE命令を使っても高速化は見込めないのでしょうか?
上記に対して_mm_mul_psを行うと上位2float分を余計に計算させることになってしまいますよね
上記に対して_mm_mul_psを行うと上位2float分を余計に計算させることになってしまいますよね
633デフォルトの名無しさん
2022/01/15(土) 05:56:06.60ID:ps658RNN >>603
deducing thisがC++23で入るね
deducing thisがC++23で入るね
634デフォルトの名無しさん
2022/01/15(土) 16:29:52.27ID:fx8S/FAM635デフォルトの名無しさん
2022/01/16(日) 12:31:04.34ID:20f7Ghpo >>630
同じ関数というのが関数名と引数の数が同じというだけなら
extern "C" double sqrt(double x);
extern float sqrt(float x);
とから有り得る
同じ関数というのが関数名と引数の数が同じというだけなら
extern "C" double sqrt(double x);
extern float sqrt(float x);
とから有り得る
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国側が首相答弁の撤回要求、日本側拒否★3 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 被爆者は「怒りが腹の底から湧いてくる」高市首相“非核三原則見直し報道”に被爆地で懸念や憤りの声《長崎》 [1ゲットロボ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★2 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 【悲報】80年前ジャップメディア「軍部に脅されただけなんよ・・・」今ジャップメディア「高市批判する奴は売国奴!」 [616817505]
- ネトウヨ「中国のものは何もいらない!」 中国人「だったら漢字を使わないでください」 [314039747]
- 【速報】春節の飛行機も欠航ラッシュ 高市早苗終了か [695089791]
- 【悲報】バス停の時刻表、もう誰もよめないと話題に…これが望まれた未来の正しいあり方なのか?狂ってるだろこんなのもはや😡 [339712612]
- 【悲報】中国から輸入した物を食べ、輸入した服を着て、輸入したスマホ弄ってる日本人「中国と戦争するぞ!」 [616817505]
- 男だけど生理きちゃった…♥
