C++相談室 part166 (398レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん

33: はちみつ餃子◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 09:38:53.26 ID:jrPMMEx+0(1/4) AAS
>>32
32(1): デフォルトの名無しさん (ワッチョイ df01-7ORQ) [sage] 2025/05/07(水) 09:06:41.19 ID:pa9hjTXM0(1) AAS
>>29
ostreamあんま詳しくないので本来の意味じゃないってのが良くわからんかった
コンテナでなければ弾くようにしてるんだと思うけどsizeofで括ってるのは式自体が評価されないようにするため?
そう。
実態としては sizeof の中の式が成立するかどうかだけが判定基準になってる。
sizeof が 0 を返すことはあり得ないわけだし sizeof の中の式が成立しないなら enable_if で判定する以前に弾かれるわけなので enable_if は判定の役に立ってない。
式を書く場所があるならなんでもよかったんだけど最終的には ostream& になってもらわないといけないので enable_if が楽だったというだけ。
36
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 22:42:31.19 ID:jrPMMEx+0(2/4) AAS
>>35
35(3): デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/07(水) 22:31:24.20 ID:OFqp/W1O0(1/2) AAS
vectorって、
宣言時に、要素数と初期値を設定できないっけ?
気持ちとしては、、

vector<int> my_data(3) = { 6, 8, 44 };
できない。
そうしたい理由としては指定した個数分の要素が間違いなく与えられているようにってこと?
38
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 23:14:20.16 ID:jrPMMEx+0(3/4) AAS
>>35
与えている要素の個数に間違いがないことを確実にしたいというのが目的だとしたらこういう関数を定義するのはどうだろう。
外部リンク:wandbox.org
40: はちみつ餃子◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/07(水) 23:25:35.43 ID:jrPMMEx+0(4/4) AAS
>>39
39(1): デフォルトの名無しさん (ワッチョイ 1202-mpUa) [sage] 2025/05/07(水) 23:14:51.64 ID:OFqp/W1O0(2/2) AAS
>>36
まあ、普通の配列なら、
int my_data[3]= { 6, 8, 44 };
ってできるので。

できても問題は無さそうだけど…
文法の一貫性としてということ?
配列をそう定義したときの [3] は型の一部であってコンストラクタに渡す値ではないから……。
配列をそう書けるのが例外的、変則的な措置だと考えるべきだと思う。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.945s*