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:xvjipUWj977デフォルトの名無しさん
2020/03/23(月) 14:16:57.36ID:bf1cRh+B978デフォルトの名無しさん
2020/03/23(月) 14:16:57.82ID:bf1cRh+B979デフォルトの名無しさん
2020/03/23(月) 14:18:32.74ID:bf1cRh+B980はちみつ餃子 ◆8X2XSCHEME
2020/03/23(月) 14:39:25.62ID:FLdc410A981デフォルトの名無しさん
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を超えています。これ以上書き込みはできません。
ニュース
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 [少考さん★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- 【芸能】山里亮太、体調不良で3日連続『DayDay.』欠席 症状の説明などはなし… 代理MCはアンジャッシュ・児嶋一哉 [冬月記者★]
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 ★2 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【MLB】ドジャース、最優秀救援3度&通算253セーブの守護神・ディアスを獲得! スコット低迷、佐々木朗希は先発復帰で [冬月記者★]
- 中国「事前通告の音声公開するよ」高市応援団「音声は捏造。自衛隊にこんな声の隊員いねーよ」?! [931948549]
- 中国に許してもらう方法もうこれ高市早苗と進次郎の首と沖縄奄美を中国に献上するしかないだろ [246620176]
- 【朗報】日中戦争、5割弱が賛成。共同通信世論調査。ケンモメンも中国進駐へ [673057929]
- 高市早苗さん、今度は韓国にも喧嘩を売ってしまう。 ほんまこいつwwww [271912485]
- 【悲報】レーダー照射で中国批判 米国務省「平和に資さず」 [733893279]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
