!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C++相談室 part163
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bbda-Axul)
2022/12/30(金) 23:16:31.37ID:DPUEZfMS0725デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 15:17:35.62ID:5NoJOqaP0 初期化はしないよりも しておいたほうがいいわ
726デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/19(日) 15:18:07.23ID:bKnYO/UZ0 必要があれば初期化するし
必要なければ余計なことはしない
判断できましぇ~んなアホにはなりたくない
必要なければ余計なことはしない
判断できましぇ~んなアホにはなりたくない
727デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 15:25:40.86ID:5NoJOqaP0728デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 16:19:34.73ID:5NoJOqaP0729デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/19(日) 16:35:25.46ID:bKnYO/UZ0730デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 16:37:36.01ID:5NoJOqaP0731デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 16:41:22.65ID:5NoJOqaP0 なんにせよ未初期化(メモリ内容不定)というのはチューリングマシンのプログラミングモデルでは絶対悪
であることは街行く人100人に聞いたら100人全員がそう答えるので
マウントをとろうとして無駄にあがいているかさもなくば無知なのは>>729の方ででケテーイ……
であることは街行く人100人に聞いたら100人全員がそう答えるので
マウントをとろうとして無駄にあがいているかさもなくば無知なのは>>729の方ででケテーイ……
732デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/19(日) 16:47:15.92ID:bKnYO/UZ0 捏造データ使うやつの相手はしとれん
俺はどっかの大臣みたいに寛大ではない
俺はどっかの大臣みたいに寛大ではない
733デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 16:51:34.77ID:5NoJOqaP0 どこが捏造データなのかkwsk、
街行く人を引き合いに出したのは統計の結果という誤解を与えたのかもしれんが
チューリングマシンのプログラミングモデルにおいて、初期化を行わないまま次のステップに進めない(やったら動作が不定になる)のは
覆りようが無い真実、、、
街行く人を引き合いに出したのは統計の結果という誤解を与えたのかもしれんが
チューリングマシンのプログラミングモデルにおいて、初期化を行わないまま次のステップに進めない(やったら動作が不定になる)のは
覆りようが無い真実、、、
734デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/19(日) 16:55:07.81ID:bKnYO/UZ0 循環バッファ作るときの配列なんかいちいちゼロクリアせんだろ
学校で習いたての未消化の知識で思い込んでんなよ
アホくせ
俺は夕飯の買い物に行くぜ
学校で習いたての未消化の知識で思い込んでんなよ
アホくせ
俺は夕飯の買い物に行くぜ
735デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 17:00:25.55ID:5NoJOqaP0736デフォルトの名無しさん (ワッチョイ 5328-53XG)
2023/03/19(日) 17:05:21.48ID:5NoJOqaP0 ちと訂正orz、
循環バッファに入れるのが、STLのクラスをメンバに持つような高級なクラスだったとしよう、
すると循環バッファ作るときの配列を未初期化のままとすると、最初のencueueでいきなり代入から始まるから
(代入演算子が呼ばれる)から、未初期化オブジェクトに対する代入演算子が機能したとしてもそれはたまたまという話になる……
よって
>循環バッファ作るときの配列なんかいちいちゼロクリアせんだろ
これの主張は偽。ハイ論破、
循環バッファに入れるのが、STLのクラスをメンバに持つような高級なクラスだったとしよう、
すると循環バッファ作るときの配列を未初期化のままとすると、最初のencueueでいきなり代入から始まるから
(代入演算子が呼ばれる)から、未初期化オブジェクトに対する代入演算子が機能したとしてもそれはたまたまという話になる……
よって
>循環バッファ作るときの配列なんかいちいちゼロクリアせんだろ
これの主張は偽。ハイ論破、
737はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/19(日) 17:48:11.34ID:6gmOWdI+0 >>723
メンバを持てない型にメンバっぽいものを結び付けたい場合 (たとえば char_traits や numeric_limits) だとか、
既存の型をいじらずに拡張できる余地を用意したい場合 (allocator_traits) 、
メタプログラミング用のメタ関数 (type_traits) といったものはトレイトの形にすることもそんなに珍しくはない。
ところで Godbolt でリフレクション (N4818) 実装版の clang が使えた。
列挙子の数を数えるメタ関数を簡易的に書いたらこんな感じ。
https://godbolt.org/z/G4jf65j8f
将来的にはこういう機能が C++ に入るかもしれない。
メンバを持てない型にメンバっぽいものを結び付けたい場合 (たとえば char_traits や numeric_limits) だとか、
既存の型をいじらずに拡張できる余地を用意したい場合 (allocator_traits) 、
メタプログラミング用のメタ関数 (type_traits) といったものはトレイトの形にすることもそんなに珍しくはない。
ところで Godbolt でリフレクション (N4818) 実装版の clang が使えた。
列挙子の数を数えるメタ関数を簡易的に書いたらこんな感じ。
https://godbolt.org/z/G4jf65j8f
将来的にはこういう機能が C++ に入るかもしれない。
738デフォルトの名無しさん (ワッチョイ e15f-7LVk)
2023/03/19(日) 18:51:39.67ID:xw5DwAwo0 >>737
get_size_v<get_enumerators_t<reflexpr(Enum)>> でよい。
標準で enum_count みたいなの用意しといて欲しいよね。誰が書いても同じになるんだから。
get_size_v<get_enumerators_t<reflexpr(Enum)>> でよい。
標準で enum_count みたいなの用意しといて欲しいよね。誰が書いても同じになるんだから。
739はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/19(日) 20:19:21.80ID:6gmOWdI+0 >>738
おっ、そんな便利なのを見落としておったわ……。
将来的には enum_count みたいなのは入ると思う。
現時点では基礎になるスコープの広い部分を検討中だから
おそらくその上に実装されるであろう部分をどうこういうのは時期尚早ってことなんだろう。
おっ、そんな便利なのを見落としておったわ……。
将来的には enum_count みたいなのは入ると思う。
現時点では基礎になるスコープの広い部分を検討中だから
おそらくその上に実装されるであろう部分をどうこういうのは時期尚早ってことなんだろう。
740デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/19(日) 20:47:43.45ID:bKnYO/UZ0 >>735
覆したかどうかジャッジは衆目に任せようや
覆したかどうかジャッジは衆目に任せようや
741デフォルトの名無しさん (ワッチョイ e15f-XP14)
2023/03/19(日) 23:30:56.76ID:qEtAe03H0 初期化の必要はないけど、しても負荷はないに等しいという状況もよくあるからなんとも
742はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/19(日) 23:39:18.94ID:6gmOWdI+0 形式的には初期化をしてても最適化を通ると消えてるってこともあるし……。
743デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/20(月) 15:45:00.03ID:ORIjxPLV0 必要ないことはしないってだけなのに何か悪いのかよ
見も知らん馬の骨のご機嫌取るのも必要ないかんな
見も知らん馬の骨のご機嫌取るのも必要ないかんな
744デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/20(月) 15:53:20.87ID:ORIjxPLV0 まるでマスク警察だな
初期化警察
初期化警察
745デフォルトの名無しさん (スプッッ Sd73-nGUn)
2023/03/20(月) 17:50:53.62ID:xiC6G7QOd >>742
例えばどんな場合?
例えばどんな場合?
746デフォルトの名無しさん (テテンテンテン MM8b-LjWS)
2023/03/20(月) 18:48:41.76ID:UaylDbEEM747デフォルトの名無しさん (ワッチョイ e15f-XP14)
2023/03/20(月) 20:03:19.49ID:KynYd7/p0 例えばプログラムでアドレスを計算してる場合に、そのアドレスのメモリが
初期化されてるかどうかをコンパイラが判断するのは難しいだろうね
他にもライブラリとか別のプログラムで初期化されてもわからない
初期化されてるかどうかをコンパイラが判断するのは難しいだろうね
他にもライブラリとか別のプログラムで初期化されてもわからない
748デフォルトの名無しさん (アウアウウー Sa95-8mIh)
2023/03/20(月) 20:14:42.31ID:GZpDpxkna749デフォルトの名無しさん (ワッチョイ 91f0-BQ3C)
2023/03/20(月) 20:22:11.60ID:hNMIxENu0 vectorに対してcopyとかtransform使うとき、あらかじめコピー元とコピー先のサイズを揃えますけど
この時ほぼほぼ初期化省かれてるなっての分かるじゃないですか
それなら最初から初期化を省くメソッド用意してくれてもいいんじゃないか?と思うわけです
この時ほぼほぼ初期化省かれてるなっての分かるじゃないですか
それなら最初から初期化を省くメソッド用意してくれてもいいんじゃないか?と思うわけです
750デフォルトの名無しさん (ワッチョイ e15f-XP14)
2023/03/20(月) 20:58:12.86ID:KynYd7/p0 まあ、要素がPODの場合にvector::resizeで初期化しないでほしいと思うことはあるけど、
それで仕方なく不要な初期化をして遅くなった試しがないからなぁ・・・
それで仕方なく不要な初期化をして遅くなった試しがないからなぁ・・・
751はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/20(月) 21:35:36.48ID:c1bWUyRU0 >>749
そのためにサイズとは別にキャパシティの概念があるんじゃないの。
書き込む順序が変な場合だったりすると上手くいかんかもしれんが
copy や transform を使う分には事前にキャパシティを調整した上で
値の書き込みは back_inserter を使えば無駄な初期化も再配置も起こらない。
そのためにサイズとは別にキャパシティの概念があるんじゃないの。
書き込む順序が変な場合だったりすると上手くいかんかもしれんが
copy や transform を使う分には事前にキャパシティを調整した上で
値の書き込みは back_inserter を使えば無駄な初期化も再配置も起こらない。
752デフォルトの名無しさん (ワッチョイ e15f-7LVk)
2023/03/20(月) 21:40:04.28ID:hzdgbGAw0 >>749
insert_iterator は嫌なの?
insert_iterator は嫌なの?
753デフォルトの名無しさん (ワッチョイ e15f-7LVk)
2023/03/20(月) 21:40:53.83ID:hzdgbGAw0 あ、被った。ごめん。
754デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/20(月) 22:56:55.34ID:4g6dG7Pp0 初期化が重いならコンストラクタと初期化を分ければ良いし
微妙なコピーによるパフォーマンスを気にするなら自作すれば良い
無い物ねだりは時間の無駄
微妙なコピーによるパフォーマンスを気にするなら自作すれば良い
無い物ねだりは時間の無駄
755蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-byLE)
2023/03/20(月) 23:03:48.48ID:W64rVTKed アロケータ自作もアリ。
756はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/20(月) 23:17:51.49ID:c1bWUyRU0757デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/21(火) 06:23:01.76ID:UyD8IPHr0 int a = 0; //こうしないとエラーな環境なんてイラネーヨ
if(cin >> a) cout << a;
if(cin >> a) cout << a;
758デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/21(火) 07:38:26.62ID:gGh7BvK80 最速チューンならvectorなんか使うな
759デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/21(火) 07:39:32.98ID:gGh7BvK80 sprintfの使用がエラーになる環境もある
760デフォルトの名無しさん (ブーイモ MM0d-xxKT)
2023/03/21(火) 17:14:11.67ID:uh1D01cuM >>751
そうすると一々サイズとキャパシティ比較するif文挟むから結局オーバーヘッドあるやん
まあstd::vector使うなというのはもっともでこういうときのためにstd::make_XXX_for_overwriteがある
そうすると一々サイズとキャパシティ比較するif文挟むから結局オーバーヘッドあるやん
まあstd::vector使うなというのはもっともでこういうときのためにstd::make_XXX_for_overwriteがある
761デフォルトの名無しさん (テテンテンテン MM8b-LjWS)
2023/03/22(水) 07:23:54.33ID:9C9l1JTzM >>760
vector::reserveをご存知でない?
vector::reserveをご存知でない?
762はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/22(水) 09:35:50.58ID:GXnnX9o30 >>761
back_insert_iterator での値の追加は push_back するのに等しい。
https://timsong-cpp.github.io/cppwp/n3337/back.insert.iter.op=
push_back するときはキャパシティが足りるかどうかで動作が異なる。
https://timsong-cpp.github.io/cppwp/n3337/vector.modifiers
結果的にキャパシティが足りていてもキャパシティが足りているかどうかのチェックはおこなわれる。
そのことを >>760 は言ってる。
back_insert_iterator での値の追加は push_back するのに等しい。
https://timsong-cpp.github.io/cppwp/n3337/back.insert.iter.op=
push_back するときはキャパシティが足りるかどうかで動作が異なる。
https://timsong-cpp.github.io/cppwp/n3337/vector.modifiers
結果的にキャパシティが足りていてもキャパシティが足りているかどうかのチェックはおこなわれる。
そのことを >>760 は言ってる。
763デフォルトの名無しさん (ワッチョイ 13ad-F0re)
2023/03/22(水) 16:48:53.83ID:X+UQzyz90 STLコンテナのうちvectorだけがC言語やシステムコールで使う配列との互換性を保証するのだから「vector使うな」とか噴飯ものだよ
764はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/22(水) 16:56:07.11ID:GXnnX9o30 >>760
いわれてみれば確かにゼロコストというわけではないね。
現代的な CPU だと分岐予測が効く場合だと思うので実行時間的には小さいと思うが……。
スマートポインタに for_overwrite 版が入ったなら vector でもやろうという提案は
絶対に出るだろうと思って検索してみたら vector については見つけられなかったが
basic_string::resize_and_overwrite を足す提案はあったわ。
http://wg21.link/P1072R10
いわれてみれば確かにゼロコストというわけではないね。
現代的な CPU だと分岐予測が効く場合だと思うので実行時間的には小さいと思うが……。
スマートポインタに for_overwrite 版が入ったなら vector でもやろうという提案は
絶対に出るだろうと思って検索してみたら vector については見つけられなかったが
basic_string::resize_and_overwrite を足す提案はあったわ。
http://wg21.link/P1072R10
765デフォルトの名無しさん (ワッチョイ 9b9f-kL5v)
2023/03/22(水) 17:09:49.01ID:gZ+A13pt0 std::vector<bool>さん…
766デフォルトの名無しさん (ワッチョイ 693c-UUBt)
2023/03/22(水) 18:28:48.27ID:qjwjL2/30767はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/22(水) 19:15:35.45ID:GXnnX9o30768デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/22(水) 20:15:46.78ID:V+0jsH670 極限チューンしたいならvectorなんか使うな
vector使うなら多少のオーバーヘッドは気にするな
vector使うなら多少のオーバーヘッドは気にするな
769デフォルトの名無しさん (ワッチョイ e15f-7LVk)
2023/03/22(水) 20:22:41.22ID:w6cUkLD60 極限チューンしたいならC++なんか使うな
C++使うなら多少のオーバーヘッドは気にするな
とか言っちゃうのかねこういう人は。
C++使うなら多少のオーバーヘッドは気にするな
とか言っちゃうのかねこういう人は。
770デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/22(水) 20:30:41.10ID:V+0jsH670 C++でダメならアセンブラ
771デフォルトの名無しさん (スップ Sd33-sVu9)
2023/03/22(水) 20:54:34.32ID:bSdzjV5Ad >最速チューン
>極限チューン
特にしたくありせん
>極限チューン
特にしたくありせん
772デフォルトの名無しさん (ブーイモ MMc5-xxKT)
2023/03/22(水) 21:54:01.77ID:1hDeVWBQM >>764
だいぶ前に記事そのものがあったわ
リンク先読んでないけど過去に提案されてるっぽい?
https://faithandbrave.hateblo.jp/entry/20131203/1386054567
だいぶ前に記事そのものがあったわ
リンク先読んでないけど過去に提案されてるっぽい?
https://faithandbrave.hateblo.jp/entry/20131203/1386054567
773デフォルトの名無しさん (ワッチョイ d1f0-nGUn)
2023/03/22(水) 22:26:40.76ID:V+0jsH670 >>771
じゃあ細かい事は気にするな
じゃあ細かい事は気にするな
774デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/23(木) 09:55:02.98ID:QwfINZIH0 極限とか感情的バイアスで話すやつはマトモに相手しとれん
775デフォルトの名無しさん (アウアウウー Sa95-lF85)
2023/03/23(木) 11:09:09.78ID:AQHpwrnPa >>768-769
deque
deque
776デフォルトの名無しさん (ワッチョイ c902-4ISk)
2023/03/23(木) 15:45:01.00ID:I4BdcjQJ0 DQN?
777デフォルトの名無しさん (ワッチョイ 13f0-BQ3C)
2023/03/23(木) 20:01:05.89ID:AO0LAUkv0 昔は煽って情報引き出そうとする輩もおったけど、今はAIに聞けば全部教えてくれるんだよな
778デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/23(木) 20:36:59.72ID:QwfINZIH0 AIねえ・・ライダハンて何って聞くとキムチ臭いことを「教えてくれる」けど
おまえはそれを何だ? 神様のお告げとか思ってるの?
アホなの? それともバカなの? 今すぐ首吊って死ねよ
おまえはそれを何だ? 神様のお告げとか思ってるの?
アホなの? それともバカなの? 今すぐ首吊って死ねよ
779デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/23(木) 20:44:08.19ID:QwfINZIH0 機械と人間の違いがわからねーやつは人類全ての敵だ
機械は言われたとおりにやってるだけ
そこにポリシーも夢もひとかけもない
呆れ果てたスーパー情弱のために教えておいてやるが
機械にできるのは演繹だけで帰納はできないって根本的な問題があるんだよ
教わったことが絶対でどんなにおかしい答えも平然と言ってのける
日教組に洗脳されたおまえとそっくりだなwww
機械は言われたとおりにやってるだけ
そこにポリシーも夢もひとかけもない
呆れ果てたスーパー情弱のために教えておいてやるが
機械にできるのは演繹だけで帰納はできないって根本的な問題があるんだよ
教わったことが絶対でどんなにおかしい答えも平然と言ってのける
日教組に洗脳されたおまえとそっくりだなwww
780デフォルトの名無しさん (ワッチョイ e15f-XP14)
2023/03/23(木) 22:27:29.21ID:Df8F7oRN0 代わりに辞書を引いてくれるだけでも大したもんだよ
引き方によってはちょっとした会話にもなるしな
引き方によってはちょっとした会話にもなるしな
781デフォルトの名無しさん (ワッチョイ 13f0-BQ3C)
2023/03/23(木) 22:43:25.00ID:AO0LAUkv0 辞書じゃなくて仕様書な?
782デフォルトの名無しさん (ラクッペペ MM8b-xJOq)
2023/03/24(金) 08:04:10.44ID:p0qI+e9PM 根本的な話をすると脳のニューロン組織とAIプログラムのニューラルネットワークは動作原理は同じ
生体細胞の圧倒的物量による並列処理能力の高さと半導体素子の圧倒的記憶演算能力による方向性の違いだけ
いずれ学習が飛躍的に進めば機械が脳を超える時が来る
生体細胞の圧倒的物量による並列処理能力の高さと半導体素子の圧倒的記憶演算能力による方向性の違いだけ
いずれ学習が飛躍的に進めば機械が脳を超える時が来る
783デフォルトの名無しさん (ワッチョイ 693c-UUBt)
2023/03/24(金) 10:59:13.15ID:LuP95mud0 脳内でバックプロパゲーションとか起こってると思ってるならあまりにももの知らんねキミ
784デフォルトの名無しさん (ワッチョイ 1305-Dpq4)
2023/03/24(金) 11:29:29.53ID:iD/qyfMR0 まあ中枢神経でも逆行性の情報伝達は起きてるけどな
そんなことより改行の後スペースは何回打つのがメジャーなんか?
なおタブ派の意見は聞かない
そんなことより改行の後スペースは何回打つのがメジャーなんか?
なおタブ派の意見は聞かない
785デフォルトの名無しさん (ワッチョイ 1305-Dpq4)
2023/03/24(金) 11:33:31.33ID:iD/qyfMR0 ちなみに俺は7回だ
786デフォルトの名無しさん (ワッチョイ ebda-VjVf)
2023/03/24(金) 15:08:24.40ID:h3NqECut0 ChatGPT研究所
@ctgptlb
今回、驚くべき実験結果が得られました。ChatGPTには敬語で接すると、出力が大幅に良くなる可能性が示唆されました!
https://chatgpt-lab.com/n/nd8dde92016ec
https://ul.h3z.jp/FMiV1SBC.png
https://ul.h3z.jp/cA2maV7H.jpeg
AIも雑なヤロウには雑に扱う
@ctgptlb
今回、驚くべき実験結果が得られました。ChatGPTには敬語で接すると、出力が大幅に良くなる可能性が示唆されました!
https://chatgpt-lab.com/n/nd8dde92016ec
https://ul.h3z.jp/FMiV1SBC.png
https://ul.h3z.jp/cA2maV7H.jpeg
AIも雑なヤロウには雑に扱う
787デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/24(金) 15:19:50.19ID:A6TekdSG0 なんか上から目線でえばってるくせに帰納の意味がわかってなさそうなのがいるなksks
789デフォルトの名無しさん (ワッチョイ a963-4ZMk)
2023/03/24(金) 22:17:35.84ID:A6TekdSG0 人が作った焼き物に手を合わせて神のご加護をってやつだろwww
790デフォルトの名無しさん (ワッチョイ ff9a-Pd8U)
2023/04/01(土) 01:18:43.60ID:TiOY9/eM0 priority_queueに渡す比較関数って、functionでインライン的に書くより
別途ラムダを書いてそれをdecltype()で渡す方がいいんですかね?
後者と同等なインライン的な書き方はあります?
別途ラムダを書いてそれをdecltype()で渡す方がいいんですかね?
後者と同等なインライン的な書き方はあります?
791デフォルトの名無しさん (ワッチョイ 7fad-kVuH)
2023/04/01(土) 06:57:15.82ID:Q/l4fj4H0 >>790
ラムダ式は視認性を改善する目的で使うものなので、ラムダ式のせいでかえって視認性が悪くなるようであればあきらめ時
ラムダ式は視認性を改善する目的で使うものなので、ラムダ式のせいでかえって視認性が悪くなるようであればあきらめ時
792デフォルトの名無しさん (ワッチョイ 7f16-icd+)
2023/04/01(土) 07:50:02.77ID:mhQOcPkw0793デフォルトの名無しさん (ワッチョイ 5f5f-I0N1)
2023/04/01(土) 14:13:57.01ID:STWEvCbN0 >>790
インライン的な書き方ってどんな書き方?
インライン的な書き方ってどんな書き方?
794デフォルトの名無しさん (ワッチョイ ff9a-Pd8U)
2023/04/01(土) 14:26:59.20ID:TiOY9/eM0 例えばfunctionを使って比較関数をインライン的に書くとこうですよね
priority_queue<int, vector<int>, function<bool(int a, int b)>> pq([](int a, int b){return a > b;});
一方ラムダを使った場合は例えばこんなですよね
auto comp = [](int a, int b) { return a > b; };
priority_queue<int, vector<int>, decltype(comp)> pq(comp);
で疑問に思ったのが
- 上記の例で後者の場合もインライン的に書ける? まソース的には1行目と2行目を改行なしで
書けばいいのかもしれないけどw
- function を使う場合と decltype を使う場合の違いに何が違う?
ということです
priority_queue<int, vector<int>, function<bool(int a, int b)>> pq([](int a, int b){return a > b;});
一方ラムダを使った場合は例えばこんなですよね
auto comp = [](int a, int b) { return a > b; };
priority_queue<int, vector<int>, decltype(comp)> pq(comp);
で疑問に思ったのが
- 上記の例で後者の場合もインライン的に書ける? まソース的には1行目と2行目を改行なしで
書けばいいのかもしれないけどw
- function を使う場合と decltype を使う場合の違いに何が違う?
ということです
795デフォルトの名無しさん (ワッチョイ ff9a-Pd8U)
2023/04/01(土) 14:29:01.96ID:TiOY9/eM0 う、二番目の質問がおかしい
- function と delctype で単に書き方が違うという以上の違いはありますか?
- function と delctype で単に書き方が違うという以上の違いはありますか?
796デフォルトの名無しさん (ワッチョイ ff9a-Pd8U)
2023/04/01(土) 14:31:10.70ID:TiOY9/eM0 function と decltype は単にシンタックスが違うだけというなら、これからは一番最初の
function を使った書き方で行こうかなと思います
function を使った書き方で行こうかなと思います
797デフォルトの名無しさん (ワッチョイ 7f7f-icd+)
2023/04/01(土) 15:00:44.48ID:IfOudlag0 C++17以降ならdeduction guideが使える
priority_queue pq { [](int a, int b){return a > b;}, vector<int>{} };
priority_queue pq { [](int a, int b){return a > b;}, vector<int>{} };
798デフォルトの名無しさん (ワッチョイ 7f28-TZ4b)
2023/04/02(日) 08:51:08.20ID:t9D8iOvK0 メモリ確保と同時に初期化、
これをしないことによる顕著なメリットの説明がそろそろあってしかるべき……
初期化をしないことによってメモリ確保はメモリ確保1回あたり(デフォルトコンストラクタにもよるが)数千~数万クロックサイクルぐらい早くなるかもしれないが
プログラムの実行速度を追求したいならそもそもメモリ確保とかいっぱい回るループの中ですべきではないし、
そもそも領域を確保しておいて初期化を後回しにするとか、プログラミを不必要に複雑なピタゴラスイッチ化するだけ……
もっとも、毎秒1万回std::vector<T>を構築するとか、サイズ3TBのFIFOを作るとかなアフォ
構想時点で極めて特殊な設計なら話は別やが……
これをしないことによる顕著なメリットの説明がそろそろあってしかるべき……
初期化をしないことによってメモリ確保はメモリ確保1回あたり(デフォルトコンストラクタにもよるが)数千~数万クロックサイクルぐらい早くなるかもしれないが
プログラムの実行速度を追求したいならそもそもメモリ確保とかいっぱい回るループの中ですべきではないし、
そもそも領域を確保しておいて初期化を後回しにするとか、プログラミを不必要に複雑なピタゴラスイッチ化するだけ……
もっとも、毎秒1万回std::vector<T>を構築するとか、サイズ3TBのFIFOを作るとかなアフォ
構想時点で極めて特殊な設計なら話は別やが……
799デフォルトの名無しさん (ワッチョイ 7f28-TZ4b)
2023/04/02(日) 09:00:08.86ID:t9D8iOvK0 それよか一番危険なのは、
>必要があれば初期化するし
>必要なければ余計なことはしない
>
>判断できましぇ~んなアホにはなりたくない (キリ
とのたまう人が、encueカウンタやdecueueカウンタが未初期かなFIFO、みたいな
益体も無い例を持ち出してみたり、冒す必要のない危険を冒してまでリリースしてしまうことや……
>必要があれば初期化するし
>必要なければ余計なことはしない
>
>判断できましぇ~んなアホにはなりたくない (キリ
とのたまう人が、encueカウンタやdecueueカウンタが未初期かなFIFO、みたいな
益体も無い例を持ち出してみたり、冒す必要のない危険を冒してまでリリースしてしまうことや……
800デフォルトの名無しさん (ワッチョイ 7f28-TZ4b)
2023/04/02(日) 09:31:47.33ID:t9D8iOvK0 >>784
教師信号はどこから来るというんじゃ……
教師信号はどこから来るというんじゃ……
801デフォルトの名無しさん (ワッチョイ 5f5f-9P2W)
2023/04/02(日) 10:42:08.81ID:B65ZsGdj0 まず、えんきゅーできゅーのスペル確認ぐらいしてくれ。
802デフォルトの名無しさん (ワッチョイ 7f28-TZ4b)
2023/04/02(日) 10:44:15.18ID:t9D8iOvK0 まともな回答を寄越してくれたら直してしんぜよう、
803デフォルトの名無しさん (ワッチョイ ffcf-icd+)
2023/04/02(日) 10:52:59.44ID:iUrLRRfa0804デフォルトの名無しさん (ワッチョイ df63-2Vho)
2023/04/02(日) 11:02:53.69ID:WgpY8vNM0 char fifo[256] = 俺はここのことを言った
char* enq = ここの話に逸らした時点でアホの相手はやめた
char* enq = ここの話に逸らした時点でアホの相手はやめた
805デフォルトの名無しさん (ワッチョイ 5f69-9P2W)
2023/04/02(日) 16:04:22.42ID:MRqRSiku0 CUE!難民発見
806はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-9P2W)
2023/04/02(日) 16:50:57.97ID:gP4vNTAJ0 >>796
std::function は実行時に型を切り替える機能をもったクラスで、
後から切り替える可能性が無い場面では無駄になるから避けるのが普通だと思う。
#include <functional>
int foo(void) { return 1; }
int main() {
// 関数ポインタとクロージャは異なる型だが
// std::function は呼出しの形式が同じならどちらでも扱える
std::function<int(void)> bar = foo; // 関数ポインタを格納できる
bar = [](void) -> int { return 1; }; // クロージャも格納できる
}
std::function は実行時に型を切り替える機能をもったクラスで、
後から切り替える可能性が無い場面では無駄になるから避けるのが普通だと思う。
#include <functional>
int foo(void) { return 1; }
int main() {
// 関数ポインタとクロージャは異なる型だが
// std::function は呼出しの形式が同じならどちらでも扱える
std::function<int(void)> bar = foo; // 関数ポインタを格納できる
bar = [](void) -> int { return 1; }; // クロージャも格納できる
}
807デフォルトの名無しさん (ワッチョイ 5f5f-I0N1)
2023/04/02(日) 17:17:55.77ID:Pu7bAi6b0 コンパイラと標準ライブラリによるんだろうけど、
std::functionはラップしてるぶんラムダに比べて遅いだろうね
でもラップしてるおかげで柔軟だから用途次第で使い分けるのがいいね
std::functionはラップしてるぶんラムダに比べて遅いだろうね
でもラップしてるおかげで柔軟だから用途次第で使い分けるのがいいね
808デフォルトの名無しさん (ワッチョイ df63-2Vho)
2023/04/02(日) 17:20:28.25ID:WgpY8vNM0 anyみたいにRTTIを使っているわけじゃないけどね
809デフォルトの名無しさん (ワッチョイ c69a-RdFw)
2023/04/08(土) 06:18:03.35ID:AxtXnxq40 bool型を整数に変換した時、false -> 0, true -> 1 は保証される?
810デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
2023/04/08(土) 06:19:18.69ID:jYlViDaH0 される
811デフォルトの名無しさん (ワッチョイ c69a-RdFw)
2023/04/08(土) 06:40:35.49ID:AxtXnxq40 ですか
何個条件が成り立っているかを数えるときに上記を使ってるっぽいコードがあったので
何個条件が成り立っているかを数えるときに上記を使ってるっぽいコードがあったので
812デフォルトの名無しさん (ワッチョイ c5da-Lh5z)
2023/04/08(土) 08:36:57.00ID:v6ilm6510 WindowsのBOOLは保障されない点だけ気を付けよう
==TRUEとかやっちゃダメだからね
==TRUEとかやっちゃダメだからね
813はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea)
2023/04/08(土) 09:17:21.57ID:CT+2+9fN0814デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh)
2023/04/08(土) 10:10:31.03ID:zFgkwmzh0 TRUE==1 FALSE==0 は仕様で明確に保証されていたかは知らんが事実上変えようがないから実害はないな。
注意するのは「FALSEでない値」とTRUEは違うってことで。
注意するのは「FALSEでない値」とTRUEは違うってことで。
815はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea)
2023/04/08(土) 11:19:32.51ID:CT+2+9fN0 >>814
ドキュメントに書いてあるから仕様と言ってよさそう。
https://learn.microsoft.com/en-us/windows/win32/learnwin32/windows-coding-conventions#boolean-type
ドキュメントに書いてあるから仕様と言ってよさそう。
https://learn.microsoft.com/en-us/windows/win32/learnwin32/windows-coding-conventions#boolean-type
816デフォルトの名無しさん (ワッチョイ a190-6ENU)
2023/04/08(土) 11:52:43.24ID:x/nopyOk0 #define True !Fales はもう昔の話か
817デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
2023/04/08(土) 16:50:36.81ID:jYlViDaH0 GetMessage() < 0 とかもうアボカド
818デフォルトの名無しさん (アウウィフ FF05-883t)
2023/04/09(日) 09:19:40.13ID:Dm0aM9sgF #define True !False
printf("%d", True);
# 1
printf("%d", True);
# 1
819デフォルトの名無しさん (アウウィフ FF05-883t)
2023/04/09(日) 09:20:16.12ID:Dm0aM9sgF >>817
ほんそれ++
ほんそれ++
820デフォルトの名無しさん (アウアウウー Sa05-/Yip)
2023/04/09(日) 23:45:39.86ID:Gr5O5zRWa c++の入門書のサンプルでは、整数を 42で初期化するケースが多い気がします
この 42(fooやbarを使うように)には意味があるのでしょうか
この 42(fooやbarを使うように)には意味があるのでしょうか
821デフォルトの名無しさん (ワッチョイ 495f-/aea)
2023/04/09(日) 23:49:54.13ID:mWJqmDjC0822デフォルトの名無しさん (アウアウウー Sa05-/Yip)
2023/04/10(月) 00:03:58.95ID:PpQYou85a >>821
thx!
thx!
823デフォルトの名無しさん (ワッチョイ 6ea7-/aea)
2023/04/10(月) 10:38:06.12ID:auMz+cIB0 constevalな関数の中でchar配列中からintを読み取る場合ってポインタ使えないから下記のようにするしかない?
arr[index] | ((int)arr[index + 1] << 8) | ((int)arr[index + 2] << 16) | ((int)arr[index + 3] << 24);
arr[index] | ((int)arr[index + 1] << 8) | ((int)arr[index + 2] << 16) | ((int)arr[index + 3] << 24);
824デフォルトの名無しさん (ワッチョイ 495f-/aea)
2023/04/10(月) 13:13:53.16ID:j1Pkk3Kb0825デフォルトの名無しさん (ワッチョイ 495f-MO2j)
2023/04/10(月) 13:14:40.33ID:Y31i0sl00 >>823
共用体は使えないの?
共用体は使えないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【青森・はぐれ子グマがラーメン店襲撃】「笑えないです」ボコボコにしてクマを返り討ち レジェンド男性はまぶたが腫れあがり骨折 ★2 [ぐれ★]
- 中国「高市許さん😡」ジャップメディア「熊!🐻!」 [809488867]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
- 今猛烈に食べたいもの挙げてけwwwwwwww
