次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part130
http://mevius.2ch.net/test/read.cgi/tech/1490917669/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part131 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b96-ov1m)
2017/07/29(土) 11:28:28.97ID:o30VDF4g0157デフォルトの名無しさん (ワッチョイ 9311-x4Vn)
2017/08/19(土) 10:13:11.47ID:2Vqw9aXW0 >>156
思いっきり叩いてやるからまず自分が書いたソースをどこかにアップしろ
思いっきり叩いてやるからまず自分が書いたソースをどこかにアップしろ
158デフォルトの名無しさん (ワッチョイ 616d-MHKs)
2017/08/19(土) 11:23:26.49ID:w9JmRxmV0159デフォルトの名無しさん (ワッチョイ 99e4-V3JL)
2017/08/19(土) 12:05:03.25ID:uvlmBKsV0 他人に使わせる気のないコードなんていくら書いても意味ない
ソフトウェアとして公開して叩かれろ
ソフトウェアとして公開して叩かれろ
160デフォルトの名無しさん (ワッチョイ 616d-MHKs)
2017/08/19(土) 12:07:34.16ID:w9JmRxmV0161デフォルトの名無しさん (ワッチョイ 2be3-oL0b)
2017/08/19(土) 12:13:16.84ID:YuM2o2hA0 3行以内で書く、とか?
162デフォルトの名無しさん (ワッチョイ 93f0-jLVh)
2017/08/19(土) 12:46:02.69ID:dHC0uy3l0 使いたくなるか否か、それを判定するソースコードを見せてくれれば一番早い
そしてそのソフトウェア自体をその判定にかけると得点はMAXになるのは当然
そしてそのソフトウェア自体をその判定にかけると得点はMAXになるのは当然
163デフォルトの名無しさん (ワッチョイ 931b-sCIl)
2017/08/19(土) 15:54:33.73ID:/pRbJcl80 >>160
・OSSライセンスを適用する
・有名処のOSSホスティングサービスで公開する
・ソフトウェアの目的と利用方法を理解しやすいようにドキュメント化する
・CPUやメモリなどのリソースを効率よく使用する
・汎用性が考慮された作りにする
・特殊化も考慮された作りにする
・バクが無いようにする
・こまめに更新し継続して改善されている事をアピールする
このくらいやれば他人に使わせる気満々のコードに見える
・OSSライセンスを適用する
・有名処のOSSホスティングサービスで公開する
・ソフトウェアの目的と利用方法を理解しやすいようにドキュメント化する
・CPUやメモリなどのリソースを効率よく使用する
・汎用性が考慮された作りにする
・特殊化も考慮された作りにする
・バクが無いようにする
・こまめに更新し継続して改善されている事をアピールする
このくらいやれば他人に使わせる気満々のコードに見える
164デフォルトの名無しさん (ワッチョイ 616d-MHKs)
2017/08/19(土) 16:03:12.53ID:w9JmRxmV0165デフォルトの名無しさん (ワッチョイ 616d-MHKs)
2017/08/19(土) 16:04:19.60ID:w9JmRxmV0 ×簡潔○完結
166デフォルトの名無しさん (ワッチョイ 5ba6-T01/)
2017/08/19(土) 18:29:45.94ID:xqVOePdU0 右辺値参照がやっぱりわからん
template<class T>
void test(T&& t) {
f(std::forward<T>(t))
}
このstd::forward<T>(t)は左辺値なの?
名前持つt(左辺値)を転送してるから左辺値でいい?
f()はf(T&)を呼ぶであってる?
template<class T>
void test(T&& t) {
f(std::forward<T>(t))
}
このstd::forward<T>(t)は左辺値なの?
名前持つt(左辺値)を転送してるから左辺値でいい?
f()はf(T&)を呼ぶであってる?
167デフォルトの名無しさん (ワッチョイ 1196-oL0b)
2017/08/19(土) 18:30:36.24ID:eKyb4lix0 C++11,14を勉強するのにいい本おしぇーてください。
168デフォルトの名無しさん (ワッチョイ 939f-AkiN)
2017/08/19(土) 19:12:00.26ID:o+HPRhwX0 effectiveなんちゃらフォイ
169デフォルトの名無しさん (ワッチョイ 1196-oL0b)
2017/08/19(土) 19:19:27.18ID:eKyb4lix0 もだーん?
170デフォルトの名無しさん (ワッチョイ b391-JJVS)
2017/08/19(土) 19:52:37.70ID:g5B0Pqab0171デフォルトの名無しさん (ワッチョイ d34b-uBYh)
2017/08/19(土) 20:21:54.83ID:3jYO+FxO0 >>166
それはforwarding referenceという機能を使ったperfect forwardingというテクニックで
右辺値参照を理解した先にあるものだ
右辺値参照の勉強中なら今は気にせず忘れておくもので
右辺値参照を理解してるなら右辺値参照とは別物として新たに勉強しなくてはならないものだ
それはforwarding referenceという機能を使ったperfect forwardingというテクニックで
右辺値参照を理解した先にあるものだ
右辺値参照の勉強中なら今は気にせず忘れておくもので
右辺値参照を理解してるなら右辺値参照とは別物として新たに勉強しなくてはならないものだ
172166 (ワッチョイ 5ba6-T01/)
2017/08/19(土) 20:37:29.73ID:xqVOePdU0173デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/19(土) 22:34:08.72ID:s/7RraD70 >>166
もとの test という関数が右辺値、左辺値どっちでも引数に取れる、そして std::forward でそのまま転送している
f がとる引数の型は test がとった引数と同じ。
つまり答えは実引数次第だ。
もとの test という関数が右辺値、左辺値どっちでも引数に取れる、そして std::forward でそのまま転送している
f がとる引数の型は test がとった引数と同じ。
つまり答えは実引数次第だ。
174デフォルトの名無しさん (ワッチョイ 8109-NU4b)
2017/08/20(日) 08:37:02.88ID:5zFtpOhv0 うにふぁいどこーるしんたっくすはしんだなぜだ!
175デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/20(日) 08:45:14.41ID:0H5//osor 死んだ?
むしろ他の提案が出ておちつきそうだったのに
自尊心を傷つけられたと感じたハゲがゴネだして蒸し返えされたような
むしろ他の提案が出ておちつきそうだったのに
自尊心を傷つけられたと感じたハゲがゴネだして蒸し返えされたような
176デフォルトの名無しさん (ワッチョイ 8109-NU4b)
2017/08/20(日) 08:47:52.43ID:5zFtpOhv0177デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/20(日) 12:02:18.26ID:0H5//osor >>176
すまんが別の提案と間違えた。忘れて
open-std.orgのWG21のpapersの2016のP0251R0が最新ではないだろうか
何の動きもなくC++20ドラフトN4687にも入っていない
すまんが別の提案と間違えた。忘れて
open-std.orgのWG21のpapersの2016のP0251R0が最新ではないだろうか
何の動きもなくC++20ドラフトN4687にも入っていない
178デフォルトの名無しさん (ワッチョイ b391-JJVS)
2017/08/20(日) 13:06:57.93ID:FiktH31Q0 3年毎に膨らんでいく仕様とか嫌だな
そらリナスさんもブチキレますわw
そらリナスさんもブチキレますわw
179デフォルトの名無しさん (ワッチョイ 8109-NU4b)
2017/08/20(日) 14:55:44.31ID:5zFtpOhv0180デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 14:59:30.48ID:sGdhnhOm0 トーバル君は単に自分のニーズに最適な言語はCと言っているだけで
他の言語がどうなろうと知ったこっちゃないでしょ
それを周りのアフォどもが色々押しつけに来ることに時折ブチキレるだけで
他の言語がどうなろうと知ったこっちゃないでしょ
それを周りのアフォどもが色々押しつけに来ることに時折ブチキレるだけで
181デフォルトの名無しさん (ワッチョイ 994d-jLVh)
2017/08/20(日) 15:24:25.28ID:4v9fraNU0 スキルの差によって読める、読めないの差がありすぎてもはや言語としての体をなしていない。
コンパイラによってもコンパイルできる、できないの差も激しい。大きなプロジェクトを管理する側はキレて当然。
癌のように誰も望んでない仕様拡張が続けられている。
コンパイラによってもコンパイルできる、できないの差も激しい。大きなプロジェクトを管理する側はキレて当然。
癌のように誰も望んでない仕様拡張が続けられている。
182デフォルトの名無しさん (ブーイモ MM35-s4kG)
2017/08/20(日) 15:43:51.01ID:Np+yxjmfM メイヤーズがこっそりc++とバイナリ互換の新言語を開発している…と信じたい
183デフォルトの名無しさん (ワッチョイ 616d-MHKs)
2017/08/20(日) 15:57:28.37ID:uPeoc0+j0 そのバイナリ互換ってなに?
C++11 以降で、役に立つ仕様とどーでもいい仕様とをわけるとすれば、何?
C++11 以降で、役に立つ仕様とどーでもいい仕様とをわけるとすれば、何?
184デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 16:05:02.55ID:sGdhnhOm0 >>181
誰も望んでいない仕様拡張?
autoは? range-based-forは? R"リテラルは?
initializer_listは? ラムダ式は? template parameter packは?
<random>は? shared_ptrは? <regex>は? <system_error>は?
誰も望んでいない仕様拡張?
autoは? range-based-forは? R"リテラルは?
initializer_listは? ラムダ式は? template parameter packは?
<random>は? shared_ptrは? <regex>は? <system_error>は?
185デフォルトの名無しさん (ワッチョイ 817f-jLVh)
2017/08/20(日) 16:10:46.08ID:H9uxxda60 >>181
ふつう、どの規格を使うかとか、場合によってはどの開発環境のどのバージョンを使うかまで
プロジェクトで規定するものだろう。
決めたことと違うコードを混ぜようとするメンバーがいたりしたらキレてもいいが。
ふつう、どの規格を使うかとか、場合によってはどの開発環境のどのバージョンを使うかまで
プロジェクトで規定するものだろう。
決めたことと違うコードを混ぜようとするメンバーがいたりしたらキレてもいいが。
186はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1315-oL0b)
2017/08/20(日) 16:14:30.65ID:ikEvsZIR0 少なくとも個別の提案はプログラムが読みやすくなるし楽になる方向なんよね。
だからまぁ、 >>181 の言い分にある「誰も望んでない」という言説には違和感があるな。
嫌だという人がいるのはわからんでもないが、
勝手にユーザ全体の意見を代表してしまうやつは単にクズなので、
誰も耳をかさないよ。
だからまぁ、 >>181 の言い分にある「誰も望んでない」という言説には違和感があるな。
嫌だという人がいるのはわからんでもないが、
勝手にユーザ全体の意見を代表してしまうやつは単にクズなので、
誰も耳をかさないよ。
187デフォルトの名無しさん (ワッチョイ 616d-4dk4)
2017/08/20(日) 16:17:20.06ID:uPeoc0+j0 >>154
TFか‥ソニーからも何か出たようだね
TFか‥ソニーからも何か出たようだね
188デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/20(日) 16:41:18.86ID:gPEOCHBy0 >>181
> スキルの差によって読める、読めないの差がありすぎてもはや言語としての体をなしていない。
日本語(自然言語)でも同じだろ。
馬鹿と天才でおなじ結果(コード)にしかならない、という方が問題だ。
それが天才側に揃っていれば理想的だが、実際は馬鹿側に揃うわけだし。
>>186
> 少なくとも個別の提案はプログラムが読みやすくなるし楽になる方向なんよね。
これは同意だが、問題は一部が本質的なところ(骨組み)まで変えられる程な点だろ。
現実的には>>185のようにプロジェクトリーダーが何を使うか厳密に決めればいい話で、
Linuxの場合はCだ、って言うんだから他の奴が布教しなければ丸く収まる話だ。
とはいえ通常製品の場合は「何でも出来る=何にも使えない」ではあるのだが、
C++の場合は半製品(製品を作る道具)ではあるし、
実際、機能はあった方が便利だったりするので、(使う側がどこまで使うか決めればいいだけ)
プロジェクトリーダーがしっかりしていれば、現在の貪欲な拡張方向も悪くない。
「全部の機能を使わないといけない」と信じている馬鹿と初心者は混乱するだろうけどね。
> スキルの差によって読める、読めないの差がありすぎてもはや言語としての体をなしていない。
日本語(自然言語)でも同じだろ。
馬鹿と天才でおなじ結果(コード)にしかならない、という方が問題だ。
それが天才側に揃っていれば理想的だが、実際は馬鹿側に揃うわけだし。
>>186
> 少なくとも個別の提案はプログラムが読みやすくなるし楽になる方向なんよね。
これは同意だが、問題は一部が本質的なところ(骨組み)まで変えられる程な点だろ。
現実的には>>185のようにプロジェクトリーダーが何を使うか厳密に決めればいい話で、
Linuxの場合はCだ、って言うんだから他の奴が布教しなければ丸く収まる話だ。
とはいえ通常製品の場合は「何でも出来る=何にも使えない」ではあるのだが、
C++の場合は半製品(製品を作る道具)ではあるし、
実際、機能はあった方が便利だったりするので、(使う側がどこまで使うか決めればいいだけ)
プロジェクトリーダーがしっかりしていれば、現在の貪欲な拡張方向も悪くない。
「全部の機能を使わないといけない」と信じている馬鹿と初心者は混乱するだろうけどね。
189デフォルトの名無しさん (ワッチョイ db23-faiX)
2017/08/20(日) 16:58:27.04ID:zvlsjK6m0190デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 18:05:26.65ID:sGdhnhOm0 >>188
馬鹿側に揃えるポリシーを見事なまでにやってのけた言語と言えば。。。
IDENTIFICATION DIVISION.
再帰できない、ダミーセクションできない、動的記憶ない、オラこんな村いやだ♪
で、その結果なにが起きたか。。。
エロパブの嬢がどこかで見覚えのある顔だと思ったら、うわあ(kwskはガン無視します)
馬鹿側に揃えるポリシーを見事なまでにやってのけた言語と言えば。。。
IDENTIFICATION DIVISION.
再帰できない、ダミーセクションできない、動的記憶ない、オラこんな村いやだ♪
で、その結果なにが起きたか。。。
エロパブの嬢がどこかで見覚えのある顔だと思ったら、うわあ(kwskはガン無視します)
191デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/20(日) 18:47:40.43ID:gPEOCHBy0 >>190
COBOLの事か?だとするとあれは試行錯誤の結果だ。非難されるべき物でもない。
そもそもあの時代の言語は再帰出来ないのも多かった。Fortran77もBASICもそうだろ。
俺が思うに、第一世代言語(C以前)は「プログラミングとはこうあるべき」、
つまり、プログラミング自体を規定しようとしている。
COBOL:自然言語の仕様書がそのままソースになるべき
C:所詮アセンブラ
smalltalk:オブジェクト間のメッセージングこそが真の未来
Lisp:ラムダこそ真理
BASIC:馬鹿でも使えることが重要
Fortran:所詮計算機だろ
で、C以外が全部糞だったのでCで統一された。
当然第二世代言語はCの後継で、C++/Java/C#のような面子になる。
とはいえ、COBOLの方向性は間違いでもないよ。
ソース自体が可読性のあるドキュメントであるべき、ってのは今でも理想だろ。
COBOLの事か?だとするとあれは試行錯誤の結果だ。非難されるべき物でもない。
そもそもあの時代の言語は再帰出来ないのも多かった。Fortran77もBASICもそうだろ。
俺が思うに、第一世代言語(C以前)は「プログラミングとはこうあるべき」、
つまり、プログラミング自体を規定しようとしている。
COBOL:自然言語の仕様書がそのままソースになるべき
C:所詮アセンブラ
smalltalk:オブジェクト間のメッセージングこそが真の未来
Lisp:ラムダこそ真理
BASIC:馬鹿でも使えることが重要
Fortran:所詮計算機だろ
で、C以外が全部糞だったのでCで統一された。
当然第二世代言語はCの後継で、C++/Java/C#のような面子になる。
とはいえ、COBOLの方向性は間違いでもないよ。
ソース自体が可読性のあるドキュメントであるべき、ってのは今でも理想だろ。
192デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 19:00:58.06ID:sGdhnhOm0 >>191
BASICは再帰できたぞ
FORTRANを実装できないマシン用に作られた縮小版で、
でもFORTRANより新しく作られた分、改良が図られていた
そのうちの、すべての行に行番号というのが賛否両論だった
当時初心者だった俺にとってはあれがラベルの概念の入り口になってくれたが
1桁KBのパーコンで構造化などという寝ぼけた老害たちがGOTOがどうたら言ってた
あ、嫁が呼んでるw じゃあな
BASICは再帰できたぞ
FORTRANを実装できないマシン用に作られた縮小版で、
でもFORTRANより新しく作られた分、改良が図られていた
そのうちの、すべての行に行番号というのが賛否両論だった
当時初心者だった俺にとってはあれがラベルの概念の入り口になってくれたが
1桁KBのパーコンで構造化などという寝ぼけた老害たちがGOTOがどうたら言ってた
あ、嫁が呼んでるw じゃあな
193デフォルトの名無しさん (ワッチョイ 53ef-jLVh)
2017/08/20(日) 19:05:55.32ID:QoZjiUMw0 >>192
BASIC で再帰ができるのは,ハドソン系ベーシック等,マイクロソフト以外の BASIC ではないか?
BASIC で再帰ができるのは,ハドソン系ベーシック等,マイクロソフト以外の BASIC ではないか?
194デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 19:39:46.63ID:sGdhnhOm0 メインフレーム用の一部の言語が再帰できないのは
当時のS/370がスタックのないアーキテクチャだったからだ
逆にBASICが実装された多くのPCではCPがにスタックを持っていた
なので全変数がグローバルなのでやりにくいができるにはできた
俺もBASICでの再帰は大道芸の域を出ることがなく
実用上の手の内に入ったのはCからだった
当時のS/370がスタックのないアーキテクチャだったからだ
逆にBASICが実装された多くのPCではCPがにスタックを持っていた
なので全変数がグローバルなのでやりにくいができるにはできた
俺もBASICでの再帰は大道芸の域を出ることがなく
実用上の手の内に入ったのはCからだった
195デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 19:45:06.60ID:sGdhnhOm0 s/CP/CPU/
CPじゃ制御プログラムだねw
CPじゃ制御プログラムだねw
196デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/20(日) 21:07:10.22ID:gPEOCHBy0 >>194
> 全変数がグローバルなのでやりにくいができるにはできた
これは一般的には出来るとは言わない。
再帰が出来る=関数ローカルの変数が定義出来る、だよ。
変数共通で突っ込むのは今なら「再入」と呼ばれる物に近く、
これは言語として云々ではなく、対応する構造にするかどうかだけ。
また、CPUのスタック操作命令は高速化に寄与するだけであって、
無ければエミュレートすればいいだけだろ。
その論法だとスタック操作命令がないCPUではC言語を実装出来ないことになるが、
これはないだろ。
(S/370上のC言語実装も無いとは思えないし)
> 全変数がグローバルなのでやりにくいができるにはできた
これは一般的には出来るとは言わない。
再帰が出来る=関数ローカルの変数が定義出来る、だよ。
変数共通で突っ込むのは今なら「再入」と呼ばれる物に近く、
これは言語として云々ではなく、対応する構造にするかどうかだけ。
また、CPUのスタック操作命令は高速化に寄与するだけであって、
無ければエミュレートすればいいだけだろ。
その論法だとスタック操作命令がないCPUではC言語を実装出来ないことになるが、
これはないだろ。
(S/370上のC言語実装も無いとは思えないし)
197デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 21:48:19.43ID:sGdhnhOm0 >>196
そこは俺とは見解が違うね
再帰の定義はサブルーチンの中からそのサブルーチンを呼び出すことで、
それをやりやすく補助する存在は本質じゃない
なのでスタックですら再帰の本質ではない
マシンによってはサブルーチンのネストが6層までとか限定されていて
それは何かというとリンクレジスタの個数でありスタックじゃない
再入は共通変数なんか使わないし、使ったらRENTじゃなくなる
メインフレームの流儀ではいちいちGETMAINとかね
メインフレーム上のCの実装は、俺が目撃したのはS/370じゃなく
ESA/370だったけどいちいちGETMAINはしてなかった
そこは俺とは見解が違うね
再帰の定義はサブルーチンの中からそのサブルーチンを呼び出すことで、
それをやりやすく補助する存在は本質じゃない
なのでスタックですら再帰の本質ではない
マシンによってはサブルーチンのネストが6層までとか限定されていて
それは何かというとリンクレジスタの個数でありスタックじゃない
再入は共通変数なんか使わないし、使ったらRENTじゃなくなる
メインフレームの流儀ではいちいちGETMAINとかね
メインフレーム上のCの実装は、俺が目撃したのはS/370じゃなく
ESA/370だったけどいちいちGETMAINはしてなかった
198デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/20(日) 22:03:55.37ID:sGdhnhOm0 秀和の解析本にはBASICのくせにunwindがあるぞってなのが載ってたね
199デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/20(日) 22:43:04.76ID:gPEOCHBy0 >>197
> 再帰の定義はサブルーチンの中からそのサブルーチンを呼び出すことで、
> それをやりやすく補助する存在は本質じゃない
これは屁理屈だ。
なぜならこの定義では、「再帰出来ない」言語なんて無いから。
再帰出来る/出来ない『言語』を議論している時点で、この定義は無意味で、
「普通に再帰を記述した時に問題なく動くか」が議論用の定義になる。
これは当然であり、自明だ。
つか、君は何が言いたかったんだ?
君の定義ならCOBOLだって再帰出来るだろ?
> 再帰の定義はサブルーチンの中からそのサブルーチンを呼び出すことで、
> それをやりやすく補助する存在は本質じゃない
これは屁理屈だ。
なぜならこの定義では、「再帰出来ない」言語なんて無いから。
再帰出来る/出来ない『言語』を議論している時点で、この定義は無意味で、
「普通に再帰を記述した時に問題なく動くか」が議論用の定義になる。
これは当然であり、自明だ。
つか、君は何が言いたかったんだ?
君の定義ならCOBOLだって再帰出来るだろ?
200デフォルトの名無しさん (ワッチョイ 93c5-8P7d)
2017/08/21(月) 04:24:06.96ID:LgR8oR3f0201デフォルトの名無しさん (ワッチョイ 9311-x4Vn)
2017/08/21(月) 06:45:36.67ID:OHbYaZtv0202デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/21(月) 07:37:14.11ID:7Rgof7Fhr そろそろよそでやれ
203デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/21(月) 08:01:15.80ID:7Rgof7Fhr C++17ドラフトのguaranteed copy-elisionが難しい
しかも規格が約50カ所修正されている
A a = A{}; と A a = f(); のムーブ無くすだけでどんだけ根本概念に手を入れてんだ
しかも規格が約50カ所修正されている
A a = A{}; と A a = f(); のムーブ無くすだけでどんだけ根本概念に手を入れてんだ
204デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/21(月) 08:10:41.60ID:M1FJxIMj0205デフォルトの名無しさん (ワッチョイ 2ba2-OH3f)
2017/08/21(月) 22:52:00.36ID:Ec7rLiDE0206デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/21(月) 23:00:08.39ID:M1FJxIMj0 犯人扱いしておいて違ったら知らん顔という制度そのものが間違ってる
捜査協力した人には謝礼だろうが
にせ伝票で架空の謝礼費を着服なんかしてないで
やるべきことをやれっての!
捜査協力した人には謝礼だろうが
にせ伝票で架空の謝礼費を着服なんかしてないで
やるべきことをやれっての!
207デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/21(月) 23:01:02.71ID:M1FJxIMj0 架空の謝礼費を内部告発した仙波さん、えらい扱い受けたよね
208デフォルトの名無しさん (ワッチョイ b391-MHKs)
2017/08/21(月) 23:09:51.41ID:BkgqT9qm0 C++の最新仕様を追い続けられる人ってのはやっぱどこかちょっと変わり者というか
ふわふわしたものが許せないというか、なんとなく動いてるからいいや的な緩さが
許せないというか、白黒はっきりつけようぜ的な性格なのかな?って思ったw
ふわふわしたものが許せないというか、なんとなく動いてるからいいや的な緩さが
許せないというか、白黒はっきりつけようぜ的な性格なのかな?って思ったw
209デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/21(月) 23:12:01.91ID:M1FJxIMj0 たったの千円でも知らん顔とは次元が違う
謝礼の対象でないという取り決めがあるばかりに
警察官の横柄な態度を誘発しているんだよ
謝礼の対象でないという取り決めがあるばかりに
警察官の横柄な態度を誘発しているんだよ
210デフォルトの名無しさん (ワッチョイ 99e4-njFf)
2017/08/21(月) 23:56:14.20ID:pHph3yYu0211デフォルトの名無しさん (ワッチョイ 2be3-jLVh)
2017/08/21(月) 23:59:39.85ID:RPf0vXrN0 最近は生ポインタ撲滅されそうと聞いたが
今までのメソッドとかどうしてるん
混在してるだろ
今までのメソッドとかどうしてるん
混在してるだろ
212デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/22(火) 00:35:41.09ID:CYQ4BtpJ0 生ポのオレオレ定義
213デフォルトの名無しさん (ワッチョイ 939f-AkiN)
2017/08/22(火) 00:59:49.41ID:2UJiCQ8C0 プロパティーいつ実装されるのやら
getsetくっそマンドクサ
getsetくっそマンドクサ
214デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 01:03:51.34ID:NIldwpVs0215デフォルトの名無しさん (ササクッテロラ Sp4d-d1ZX)
2017/08/22(火) 02:32:46.66ID:Z58zmq8rp 全くわからない
雰囲気でc++を使っている
雰囲気でc++を使っている
216デフォルトの名無しさん (ワッチョイ 5bea-eC16)
2017/08/22(火) 02:42:19.05ID:S2ZGAu0e0 VSのインテリセンスさんだって
いまだについていけず
ポンコツなエラー吐きまくってるわけだし
まだまだ大丈夫!
いまだについていけず
ポンコツなエラー吐きまくってるわけだし
まだまだ大丈夫!
217デフォルトの名無しさん (アウアウエー Sa23-Tu1b)
2017/08/22(火) 11:30:22.61ID:FcKiiis6a218デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 12:26:19.96ID:NIldwpVs0 そういうおまえはあるのか?
219デフォルトの名無しさん (スップ Sdf3-kTqj)
2017/08/22(火) 12:33:51.83ID:c0Kw6L5Fd 雑誌の編集長ですから
220デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 12:42:39.12ID:NIldwpVs0 それが本当なら恥ずかしい見積もりミスしてんぜおまえさん
221デフォルトの名無しさん (JP 0H85-SBNh)
2017/08/22(火) 12:43:40.67ID:aOcQtSkRH >>217
本を読む、理解する側の分量の話をしてるんだから、まとめる側の労力が大きいかどうかはどうでもいいのでは?
本を読む、理解する側の分量の話をしてるんだから、まとめる側の労力が大きいかどうかはどうでもいいのでは?
222デフォルトの名無しさん (ワッチョイ 616f-faiX)
2017/08/22(火) 15:03:21.13ID:d7ebk59r0 うん。するどい。
223デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 15:14:35.21ID:NIldwpVs0 雑誌ってエロ本か何かだろどーせ
技術系の雑誌やっててあーゆーバカ言っちゃ自殺もんの恥だぜ
技術系の雑誌やっててあーゆーバカ言っちゃ自殺もんの恥だぜ
224デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/22(火) 17:02:21.79ID:w4zQmMtVr >重箱の隅をつついても1冊程度にまとめられる量しかないのに
その一冊程度の更新にclang/gcc/vc++すべてが追従出来ていないというのに
その一冊程度の更新にclang/gcc/vc++すべてが追従出来ていないというのに
225デフォルトの名無しさん (ワッチョイ 53ef-69Ic)
2017/08/22(火) 17:10:08.87ID:hmTXL6wT0226デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 17:20:14.07ID:NIldwpVs0 あいたた、本にまとめることも、実装とテストも、
とにかく量的な感覚がどこにもないのか
とにかく量的な感覚がどこにもないのか
227デフォルトの名無しさん (ワッチョイ 0b32-xhIi)
2017/08/22(火) 20:47:37.89ID:0/CmF7JC0 >>213
なら、publicにしちゃえばいいじゃんといってみる。
関数は振る舞いを書くべきだと思うし、変数の代わりに使うものじゃないと思うんだ。
あと、オブジェクト指向的にクラス変数は基本悪である、ということも考えるべきではないだろうか。
なら、publicにしちゃえばいいじゃんといってみる。
関数は振る舞いを書くべきだと思うし、変数の代わりに使うものじゃないと思うんだ。
あと、オブジェクト指向的にクラス変数は基本悪である、ということも考えるべきではないだろうか。
228デフォルトの名無しさん (ワッチョイ 13d0-gSDf)
2017/08/22(火) 20:56:12.81ID:COEJtZVq0229デフォルトの名無しさん (ワッチョイ b111-2gHK)
2017/08/22(火) 21:04:28.96ID:dxaP++Hz0 プロパティ導入したら、なんかいいことあるの?
230デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/22(火) 21:13:44.10ID:CYQ4BtpJ0 >>227
クラス変数って何?
クラス変数って何?
231デフォルトの名無しさん (ワンミングク MMd3-+GDj)
2017/08/22(火) 21:18:39.19ID:BxNeEQM2M >>229
変数そのものがバッキングフィールドにカプセル化されることで、変数へのアクセスを必ずメソッド経由にできる
変数そのものがバッキングフィールドにカプセル化されることで、変数へのアクセスを必ずメソッド経由にできる
232デフォルトの名無しさん (ワッチョイ b111-2gHK)
2017/08/22(火) 21:46:13.74ID:dxaP++Hz0 >>231
バッキングフィールドってメンバ変数をprivateにすれば今でも同じことできるんじゃね?
バッキングフィールドってメンバ変数をprivateにすれば今でも同じことできるんじゃね?
233デフォルトの名無しさん (ワンミングク MMd3-gSDf)
2017/08/22(火) 22:05:33.19ID:q1PzJh5lM 地味に嬉しいのは既存のパブリックメンバ変数にアクセスしてるコードを変更せずに処理を追加できること
234デフォルトの名無しさん (ワッチョイ 09e3-+GDj)
2017/08/22(火) 22:30:23.44ID:uMve0U0S0 >>232
privateな変数はclass内からアクセスし放題だけど、バッキングフィールドはアクセッサ経由以外では絶対に触れない
privateな変数はclass内からアクセスし放題だけど、バッキングフィールドはアクセッサ経由以外では絶対に触れない
235デフォルトの名無しさん (ブーイモ MMab-s4kG)
2017/08/22(火) 22:34:14.35ID:ONlIaE3KM c++erは厳しくしつけられているので、既存のpublicメンバがそもそも存在しない
236デフォルトの名無しさん (ワッチョイ 09e3-+GDj)
2017/08/22(火) 22:35:33.43ID:uMve0U0S0 >>235
これは正しい
これは正しい
237デフォルトの名無しさん (ブーイモ MMab-s4kG)
2017/08/22(火) 22:36:16.75ID:ONlIaE3KM おっと変数が抜けた
238デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/22(火) 22:58:36.57ID:D8nSL4rC0 >>233
逆にそれが入らない原因なのでは?
軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
見た目分かるようにしろってのがC++の流儀なんだろ。
俺はあった方がいいと思うけどね。
速度チューニングでこの手のマイクロマネージメントは全く意味がないから。
逆にそれが入らない原因なのでは?
軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
見た目分かるようにしろってのがC++の流儀なんだろ。
俺はあった方がいいと思うけどね。
速度チューニングでこの手のマイクロマネージメントは全く意味がないから。
239デフォルトの名無しさん (ワッチョイ 93c5-8P7d)
2017/08/22(火) 22:59:26.20ID:UHwuUWMX0 publicなメンバが一つもなかったらそもそもインスタンスを構築できないのでは…
240デフォルトの名無しさん (ワッチョイ 93c5-8P7d)
2017/08/22(火) 23:02:04.62ID:UHwuUWMX0 >>238
メンバ変数の公開よりもアクセサーを設けてインライン展開してもらう方がC++の思想的に望ましいのでは…
メンバ変数の公開よりもアクセサーを設けてインライン展開してもらう方がC++の思想的に望ましいのでは…
241239 (ワッチョイ 93c5-8P7d)
2017/08/22(火) 23:02:59.41ID:UHwuUWMX0 スマンfriendを使えば良いのか…
242デフォルトの名無しさん (ワッチョイ 817f-jLVh)
2017/08/22(火) 23:13:00.45ID:zLx3ukqP0 >軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
>見た目分かるようにしろってのがC++の流儀なんだろ。
C++って、それを判断するのが最も困難な部類の言語だと思うが。
>見た目分かるようにしろってのがC++の流儀なんだろ。
C++って、それを判断するのが最も困難な部類の言語だと思うが。
243デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/22(火) 23:20:46.21ID:NIldwpVs0 set/get用のデータメンバをちまちま用意するという
狭い考えに限定してきやがる思考妨害アイテムは無用
狭い考えに限定してきやがる思考妨害アイテムは無用
244デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/22(火) 23:28:17.57ID:D8nSL4rC0245デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/22(火) 23:37:15.06ID:+MsUtw+Or ほう、ではこのプログラムがC++17で何回ムーブが行われるかわかるかね?
auto f() {
struct C{int m;};
return C{};
}
auto c = f();
auto f() {
struct C{int m;};
return C{};
}
auto c = f();
246デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/22(火) 23:37:39.41ID:CYQ4BtpJ0 はいはい属性の抽象化属性の抽象化
247デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/22(火) 23:39:19.18ID:CYQ4BtpJ0 >>245
0回
0回
248デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/22(火) 23:41:09.40ID:+MsUtw+Or 残念
0回または1回
因みに確認のためにムーブコンストラクターを追加すると0回に変わる
0回または1回
因みに確認のためにムーブコンストラクターを追加すると0回に変わる
249デフォルトの名無しさん (オッペケ Sr4d-T01/)
2017/08/22(火) 23:49:21.67ID:+MsUtw+Or ということで、見た目で判断することは難しいのではないかと
250デフォルトの名無しさん (ワッチョイ 8123-jLVh)
2017/08/23(水) 00:09:19.34ID:CuDbJhab0 つかお前ら他言語使ってないだろ。
逆に言えばC++はその程度の精度での見積もりが出来る、ということなんだよ。
GC言語なんてGCがどこで走るか予測不能だから、実行時間の保証なんて全く出来ないし、
JIT言語はJIT側にその最適化が入っているかどうかで全く速度が変わってしまう。
つまりJava/C#/JavaScript等はその精度での見積もりはそもそも不可能なんだよ。
それとは別に、C++はその辺の仕組みがかなり複雑になっているのは認めるが、
それでも他言語と比べたら精度高く見積もれる方だよ。
getterを使った場合の問題は、それが見積もりにくくなることと、
あまりに多用するとどこで処理しているのか分かりにくくなる点だが、
まあ、適切に使っている限りはかなり使える機能だから、有った方が便利なんだけどね。
だから普通に考えれば「貪欲」なら当然入れるべきだし、
むしろラムダより先に入れるべきだが、入れないんだから何か引っかかってんでしょ多分。
逆に言えばC++はその程度の精度での見積もりが出来る、ということなんだよ。
GC言語なんてGCがどこで走るか予測不能だから、実行時間の保証なんて全く出来ないし、
JIT言語はJIT側にその最適化が入っているかどうかで全く速度が変わってしまう。
つまりJava/C#/JavaScript等はその精度での見積もりはそもそも不可能なんだよ。
それとは別に、C++はその辺の仕組みがかなり複雑になっているのは認めるが、
それでも他言語と比べたら精度高く見積もれる方だよ。
getterを使った場合の問題は、それが見積もりにくくなることと、
あまりに多用するとどこで処理しているのか分かりにくくなる点だが、
まあ、適切に使っている限りはかなり使える機能だから、有った方が便利なんだけどね。
だから普通に考えれば「貪欲」なら当然入れるべきだし、
むしろラムダより先に入れるべきだが、入れないんだから何か引っかかってんでしょ多分。
251デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/23(水) 00:16:20.92ID:Cw77BvbJ0 >>248
?
?
252はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1315-oL0b)
2017/08/23(水) 02:11:33.58ID:wuLlGfOo0 getter がただの変数アクセスに被せてあるだけならまともなコンパイラなら最適化で消えるから速度的なペナルティはゼロだよ。
253デフォルトの名無しさん (ワッチョイ 817f-jLVh)
2017/08/23(水) 07:57:53.52ID:KTb6BBkr0 a = 1;
こんなコード片で、aの型がプリミティブ型かconstr(int)/operator=(int)を持つクラスなのかによって
実際に実行される処理内容が違う時点で
>軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
>見た目分かるようにしろってのがC++の流儀なんだろ。
そんなものないとわかるだろう。
それににしても、そこからGCのオーバーヘッドに話が飛ぶのはさすがにアクロバティックすぎるw
実実行時間の話なら、マルチスレッドの非リアルタイムOS上のプログラムはどれも正確な見積もりなどできん。
こんなコード片で、aの型がプリミティブ型かconstr(int)/operator=(int)を持つクラスなのかによって
実際に実行される処理内容が違う時点で
>軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
>見た目分かるようにしろってのがC++の流儀なんだろ。
そんなものないとわかるだろう。
それににしても、そこからGCのオーバーヘッドに話が飛ぶのはさすがにアクロバティックすぎるw
実実行時間の話なら、マルチスレッドの非リアルタイムOS上のプログラムはどれも正確な見積もりなどできん。
254デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/23(水) 08:29:43.04ID:kvkWqUxa0 プリミティブ型? ああJava訛りね、C++用語はISO/IEC14882:2011 3.9.1に規定あるから
a = 1; がビルトインの代入か、トリビアルのoperator=か、
ユーザー定義のoperator=か、コンストラクタを呼び出すか、
コピーかムーブか、読めない人はC++には向いてないので無理しなくていいよ
要するにアセンブラ苦手なんだろ
マルチスレッドでもタイムクリティカルとか割り込みマスクとかあるしね
別にRTOSに限ったことじゃなく
a = 1; がビルトインの代入か、トリビアルのoperator=か、
ユーザー定義のoperator=か、コンストラクタを呼び出すか、
コピーかムーブか、読めない人はC++には向いてないので無理しなくていいよ
要するにアセンブラ苦手なんだろ
マルチスレッドでもタイムクリティカルとか割り込みマスクとかあるしね
別にRTOSに限ったことじゃなく
255デフォルトの名無しさん (ワッチョイ 5bea-eC16)
2017/08/23(水) 11:11:46.28ID:KtaXakwM0256デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
2017/08/23(水) 12:25:37.91ID:kvkWqUxa0 C++を批判するには
おまえ足んねーものが
多すぎつってんだよ
おまえ足んねーものが
多すぎつってんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★5 [蚤の市★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 【超速報】統一教会、陳謝 [519511584]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
