C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part148
https://mevius.5ch.net/test/read.cgi/tech/1580471646/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
C++相談室 part149
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/02/18(火) 06:19:41.54ID:xvjipUWj981デフォルトの名無しさん
2020/03/23(月) 16:20:38.54ID:bf1cRh+B >>980
最初は集成体初期化を使って、
int *pInts = new int[100](1,2,3); //(1)
int *pInts = new int[100](1,2); //(2)
int *pInts = new int[100](1); //(3)
int *pInts = new int[100](); //(4)
とどんどん()の中の項目を減らして行き、最後に0個にした場合、
推論的な延長線上にあると思えるか、それとも全く違った結果になるかどちらですか?
最初は集成体初期化を使って、
int *pInts = new int[100](1,2,3); //(1)
int *pInts = new int[100](1,2); //(2)
int *pInts = new int[100](1); //(3)
int *pInts = new int[100](); //(4)
とどんどん()の中の項目を減らして行き、最後に0個にした場合、
推論的な延長線上にあると思えるか、それとも全く違った結果になるかどちらですか?
982はちみつ餃子 ◆8X2XSCHEME
2020/03/23(月) 17:58:00.87ID:FLdc410A >>981
C++20 的に言えば集成体初期化の文法に統合されたということにはなるんだと思うけど、経緯はよくしらない。
C++20 的に言えば集成体初期化の文法に統合されたということにはなるんだと思うけど、経緯はよくしらない。
983デフォルトの名無しさん
2020/03/23(月) 18:27:48.17ID:bf1cRh+B もし、
{1,2,3,0,0,0,0,0}
{1,2,0,0,0,0,0,0}
{1,0,0,0,0,0,0,0}
{0,0,0,0,0,0,0,0}
のようになるんであれば、()は(xxx)のxxxを書かない場合と捉えるのは数学的推論として
正しい見方になりますね。
実際に上のようになるのか、未初期化の部分が残るのかは知りませんが。
{1,2,3,0,0,0,0,0}
{1,2,0,0,0,0,0,0}
{1,0,0,0,0,0,0,0}
{0,0,0,0,0,0,0,0}
のようになるんであれば、()は(xxx)のxxxを書かない場合と捉えるのは数学的推論として
正しい見方になりますね。
実際に上のようになるのか、未初期化の部分が残るのかは知りませんが。
984はちみつ餃子 ◆8X2XSCHEME
2020/03/23(月) 18:32:49.31ID:FLdc410A985はちみつ餃子 ◆8X2XSCHEME
2020/03/23(月) 18:45:31.47ID:FLdc410A >>983
空の丸括弧でゼロ初期化されるのは C++03 にはすでに有って、
波括弧で初期化する文法は C++11 から入って、
(そこから色々と条件の緩和やら変更やらがありつつ)
空ではない丸括弧で集成体初期化になるのは C++20 からという段階的な変化がある。
追加された文法が既存の文法となるべく一貫性を持つように統合しようとはしているけど、
互換性を壊さないようにというのも C++ の強い要件なので、
正確なルールはごちゃごちゃした条件の塊になりがち。
まあまあ整理されている部分もあるけど、
勝手な予想ではなくちゃんと資料にはあたった方がいいよ。
空の丸括弧でゼロ初期化されるのは C++03 にはすでに有って、
波括弧で初期化する文法は C++11 から入って、
(そこから色々と条件の緩和やら変更やらがありつつ)
空ではない丸括弧で集成体初期化になるのは C++20 からという段階的な変化がある。
追加された文法が既存の文法となるべく一貫性を持つように統合しようとはしているけど、
互換性を壊さないようにというのも C++ の強い要件なので、
正確なルールはごちゃごちゃした条件の塊になりがち。
まあまあ整理されている部分もあるけど、
勝手な予想ではなくちゃんと資料にはあたった方がいいよ。
986デフォルトの名無しさん
2020/03/23(月) 19:36:44.54ID:7lDoSnDw 配列の初期化方法が20通りくらいあるんじゃねえか
987デフォルトの名無しさん
2020/03/23(月) 20:24:40.26ID:V7MpBiZM 結局、波括弧と丸括弧はどっちが良いの?
C++11の時点では、波括弧が使えるところでは波括弧使っとけってのがMayers神の教えだったけども
C++11の時点では、波括弧が使えるところでは波括弧使っとけってのがMayers神の教えだったけども
988デフォルトの名無しさん
2020/03/23(月) 20:44:37.69ID:uqcQPrX7 汝の欲するところを行え
それが法とならん
それが法とならん
989デフォルトの名無しさん
2020/03/23(月) 22:25:35.27ID:d94IfFIM 好きなようにやったところで法(規格なりデファクトスタンダード)にはならんだろw
990デフォルトの名無しさん
2020/03/23(月) 23:44:35.50ID:Y58N/W/D よし、じゃあ今から俺が法な。
ここの住人は全員システムハンガリアン強制
ここの住人は全員システムハンガリアン強制
991デフォルトの名無しさん
2020/03/24(火) 00:05:30.25ID:YFRNwZnv992はちみつ餃子 ◆8X2XSCHEME
2020/03/24(火) 00:21:01.48ID:DmQItF6u >>987
シンタクス的にどちらでも良いときには波括弧を優先した方がよいと思う。
波括弧は縮小変換を許さないので意図しない情報の欠落は防止できる可能性が高い。
縮小変換が必要な場面に限って丸括弧を使えばそこが要注意ポイントってのがわかりやすい。
----
ところで縮小変換より狭化変換という用語の方が好きなんだけど、
みんなどっち使ってる? やっぱ縮小変換の方が標準的かな?
シンタクス的にどちらでも良いときには波括弧を優先した方がよいと思う。
波括弧は縮小変換を許さないので意図しない情報の欠落は防止できる可能性が高い。
縮小変換が必要な場面に限って丸括弧を使えばそこが要注意ポイントってのがわかりやすい。
----
ところで縮小変換より狭化変換という用語の方が好きなんだけど、
みんなどっち使ってる? やっぱ縮小変換の方が標準的かな?
993デフォルトの名無しさん
2020/03/24(火) 14:12:02.77ID:v3Nctwhv994デフォルトの名無しさん
2020/03/24(火) 14:21:15.32ID:Qfdj04Y0 >>992
そうなのね。ありがとうー
そうなのね。ありがとうー
995デフォルトの名無しさん
2020/03/24(火) 14:41:38.83ID:cFvopTvT へぇこんな配列の初期化の仕方あるんだねぇ
お前らC++に詳しいじゃん
お前らC++に詳しいじゃん
996デフォルトの名無しさん
2020/03/24(火) 18:53:00.89ID:l++MC8Rs C言語の時点で int a[100] = {0}; でゼロクリア
もはや裏ワザの部類
https://cpplover.blogspot.com/2010/09/blog-post_20.html
int a[2][2] = { 1, 2, 3, 4 } ;
多次元配列の初期化での謎機能
これも裏ワザにしか見えない
裏ワザ・例外・隠し機能が相まって配列の初期化だけで一冊の同人誌が出来上がる
もはや裏ワザの部類
https://cpplover.blogspot.com/2010/09/blog-post_20.html
int a[2][2] = { 1, 2, 3, 4 } ;
多次元配列の初期化での謎機能
これも裏ワザにしか見えない
裏ワザ・例外・隠し機能が相まって配列の初期化だけで一冊の同人誌が出来上がる
997デフォルトの名無しさん
2020/03/24(火) 20:25:22.03ID:1n+V7cka universal initializerなんてバグの塊でしかない。
https://qiita.com/h2suzuki/items/d033679afde821d04af8
https://qiita.com/h2suzuki/items/d033679afde821d04af8
998デフォルトの名無しさん
2020/03/24(火) 22:49:16.96ID:T0vrM+QL999デフォルトの名無しさん
2020/03/24(火) 22:50:59.22ID:o8Zozk/+ 数学は記号定義してなんぼだからね
1000デフォルトの名無しさん
2020/03/24(火) 23:08:33.60ID:v3Nctwhv10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 35日 16時間 48分 52秒
新しいスレッドを立ててください。
life time: 35日 16時間 48分 52秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 寝癖ってどうしたらつかなくなるんや?
- 自閉症が「んなっしょい」と連呼するお🏡
- 【画像】エロい一般漫画はなぜこんなに抜けるのか
- BTSのバラエティ面白すぎワロタ
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
