C++相談室 part166 (607レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
26: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 18:05:53.77 ID:SvTeM3j90 >>25 せやで。 こういうときは変換されない。 template<bool num> class foo {}; int main(void) { foo<2> bar; } 通常の暗黙の変換で許されていても非型テンプレートパラメタでは縮小変換はされないので↓みたいなのも駄目。 template<unsigned char num> class foo {}; int main(void) { foo<1000> bar; } http://mevius.5ch.net/test/read.cgi/tech/1745631298/26
27: 15 (ワッチョイ afaa-hOut) [sage] 2025/05/06(火) 18:35:49.00 ID:jhNAw2EC0 >>18 重ね重ねありがとうございます。 なんとか理解してみます。 C++20だとどうなります? 一応、C++の新機能ってぺージ見たんですけど、よくんからなくて http://mevius.5ch.net/test/read.cgi/tech/1745631298/27
28: デフォルトの名無しさん (アウアウウー Sac3-7Zak) [sage] 2025/05/06(火) 18:36:01.85 ID:nZOyiL0Ra enable_ifは便利だけど使ったら負け感が半端無い http://mevius.5ch.net/test/read.cgi/tech/1745631298/28
29: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 19:26:25.22 ID:SvTeM3j90 この場合は enable_if は本来の意味で使ってないしな。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/29
30: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 20:07:39.20 ID:SvTeM3j90 >>27 こんな感じかな。 https://wandbox.org/permlink/IgEx8yRTGMZ2qr6U C++20 からはイテレータの概念も再編されて range という概念で扱うのが好ましいということになり、コンテナは range の一種だったことになった。 コンテナの中のここからここまでという範囲を表すものを中心にした考え方で、コンテナ自身も range だし、コンテナの除き窓のような view も range 。 Rust とか Go で言うスライスみたいなもん。 で、テンプレート引
数として受け取った T が std::ranges::range の制約を満たすものなんやでという制約を入れることによってそうじゃないものはマッチしないように出来るし、 他の operator<< の候補にマッチするものがあるのならそっちが選ばれるようになる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/30
31: 15 (ワッチョイ afaa-hOut) [sage] 2025/05/06(火) 21:47:53.45 ID:jhNAw2EC0 >>30 ありがとうございます。 rangeはときどき見てたんですけど、ぱっと見あんまり必要性がわからなかったんですけど、こういう理由があったんですね。 これから時間があるときは、rangeを意識して書きたいと思います。 ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1745631298/31
32: デフォルトの名無しさん (ワッチョイ df01-7ORQ) [sage] 2025/05/07(水) 09:06:41.19 ID:pa9hjTXM0 >>29 ostreamあんま詳しくないので本来の意味じゃないってのが良くわからんかった コンテナでなければ弾くようにしてるんだと思うけどsizeofで括ってるのは式自体が評価されないようにするため? http://mevius.5ch.net/test/read.cgi/tech/1745631298/32
33: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 09:38:53.26 ID:jrPMMEx+0 >>32 そう。 実態としては sizeof の中の式が成立するかどうかだけが判定基準になってる。 sizeof が 0 を返すことはあり得ないわけだし sizeof の中の式が成立しないなら enable_if で判定する以前に弾かれるわけなので enable_if は判定の役に立ってない。 式を書く場所があるならなんでもよかったんだけど最終的には ostream& になってもらわないといけないので enable_if が楽だったというだけ。 http://mevius.5ch.net/test/read.cgi/
tech/1745631298/33
34: デフォルトの名無しさん (ササクッテロラ Spc7-7ORQ) [sage] 2025/05/07(水) 09:53:44.11 ID:zHwjwbR2p あーなるほど、意味がわかった ありがとう http://mevius.5ch.net/test/read.cgi/tech/1745631298/34
35: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/07(水) 22:31:24.20 ID:OFqp/W1O0 vectorって、 宣言時に、要素数と初期値を設定できないっけ? 気持ちとしては、、 ↓ vector<int> my_data(3) = { 6, 8, 44 }; http://mevius.5ch.net/test/read.cgi/tech/1745631298/35
36: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 22:42:31.19 ID:jrPMMEx+0 >>35 できない。 そうしたい理由としては指定した個数分の要素が間違いなく与えられているようにってこと? http://mevius.5ch.net/test/read.cgi/tech/1745631298/36
37: デフォルトの名無しさん (ワッチョイ a701-uYIY) [sage] 2025/05/07(水) 22:57:31.27 ID:F57QgFhN0 >>35 arrayはそれに近いな array<int, 3> my_data = {6, 8, 44}; http://mevius.5ch.net/test/read.cgi/tech/1745631298/37
38: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 23:14:20.16 ID:jrPMMEx+0 >>35 与えている要素の個数に間違いがないことを確実にしたいというのが目的だとしたらこういう関数を定義するのはどうだろう。 https://wandbox.org/permlink/QBu2dsYRUkrMmLzC http://mevius.5ch.net/test/read.cgi/tech/1745631298/38
39: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/07(水) 23:14:51.64 ID:OFqp/W1O0 >>36 まあ、普通の配列なら、 int my_data[3]= { 6, 8, 44 }; ってできるので。 できても問題は無さそうだけど… http://mevius.5ch.net/test/read.cgi/tech/1745631298/39
40: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 23:25:35.43 ID:jrPMMEx+0 >>39 文法の一貫性としてということ? 配列をそう定義したときの [3] は型の一部であってコンストラクタに渡す値ではないから……。 配列をそう書けるのが例外的、変則的な措置だと考えるべきだと思う。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/40
41: デフォルトの名無しさん (JP 0Hee-L4A6) [] 2025/05/08(木) 00:57:15.98 ID:4oP42WaSH >>20 decvalは要る。お前さんは数値計算知らん。 型拡張で重要になるぞ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/41
42: デフォルトの名無しさん (JP 0Hee-L4A6) [] 2025/05/08(木) 01:50:59.67 ID:4oP42WaSH はちみつさんはC++仕様策定委員なの? 委員会でそんな発言されたら困るよ。 今さらtraitsみたいなトリック 使いたくないよ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/42
43: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-6RYV) [sage] 2025/05/08(木) 02:01:35.71 ID:aAWkv5hi0 >>41 何を言ってるんだ? >>18 で declval を使ったのが無意味だという話をしてるんだぞ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/43
44: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/08(木) 03:34:36.76 ID:JGiTQ1yK0 >>38 これでできましたね。 (... && is_convertible_v<U, T>)ってなんでしょうか? (可変個引数Uが存在してって意味?) http://mevius.5ch.net/test/read.cgi/tech/1745631298/44
45: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/08(木) 08:59:22.62 ID:aAWkv5hi0 >>44 それは特に裏の意味はないよ。 全ての U が T に変換可能 (convertible) であるという制約を入れてる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/45
46: デフォルトの名無しさん (JP 0Hee-L4A6) [] 2025/05/08(木) 11:19:39.64 ID:4oP42WaSH >>43 そうでしたか。すみませんでした。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/46
47: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/08(木) 19:02:02.59 ID:JGiTQ1yK0 >>45 そうでしたか 難しいですね… http://mevius.5ch.net/test/read.cgi/tech/1745631298/47
48: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/08(木) 20:09:36.08 ID:aAWkv5hi0 >>47 難しい (分かり難い) と感じる部分を具体的に説明できる? http://mevius.5ch.net/test/read.cgi/tech/1745631298/48
49: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/09(金) 02:43:45.34 ID:gpRG314Y0 templeteでフォボナっちみたいのって、 実際に何に使うのかね…? template<int n> struct fibonacci { static constexpr int value = fibonacci<n-1>::value + fibonacci<n-2>::value; }; http://mevius.5ch.net/test/read.cgi/tech/1745631298/49
50: デフォルトの名無しさん (ワッチョイ af58-Enlg) [] 2025/05/09(金) 07:07:00.89 ID:+l+evNW70 もう見抜けない、最先端のAIディープフェイク動画は心臓の鼓動まで再現、判別が困難に 2025-05-08 https://karapaia.com/archives/507859.html http://mevius.5ch.net/test/read.cgi/tech/1745631298/50
51: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cf30-6RYV) [sage] 2025/05/09(金) 09:22:27.26 ID:NaCqAF6G0 >>49 暗号関係などで用途はあると思うけど今なら関数 (costexpr) で定義したほうがいいな。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/51
52: デフォルトの名無しさん (ワッチョイ f7a6-b4kn) [sage] 2025/05/09(金) 11:24:03.52 ID:3QJ66PDO0 >>49 定数の計算を全部コンパイル時にやっちまおうぜというのが流行った時期があった それでtemplateの目的外使用が過ぎたためにconstexprができた http://mevius.5ch.net/test/read.cgi/tech/1745631298/52
53: デフォルトの名無しさん (ワッチョイ 637c-pXdp) [sage] 2025/05/09(金) 15:56:00.48 ID:z5xnEJE80 ボレロさんが生きてた頃に比べるとつまんなくなったなconstexprさん http://mevius.5ch.net/test/read.cgi/tech/1745631298/53
54: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/09(金) 16:41:56.66 ID:gpRG314Y0 >>51 はちみつ餃子さんは何系のプログラマーでしょうか? 組み込み系? http://mevius.5ch.net/test/read.cgi/tech/1745631298/54
55: デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/09(金) 16:43:37.53 ID:gpRG314Y0 >>52 ところで、 なんでコンパイラ側で、constを自動でconstexpに最適化しないんですかね…? http://mevius.5ch.net/test/read.cgi/tech/1745631298/55
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 552 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s