- C++相談室 part133
513 :デフォルトの名無しさん (ワッチョイ 57b3-wlc6)[sage]:2017/12/13(水) 01:04:25.30 ID:VGyxWnO70 - C#についてはサッパリだけど、調べたらかなり便利そうな機能だね、処理を差し挟めるというか?
C++で「stringのように振る舞う値」を作ろうとするとまずその型から定義しなきゃならないし 継承でやっつけることも可能だけど、問題点もある さらに「intのように振る舞う値」となると継承不可だし、各種演算子をいちいち定義しないといけない 型を定義したいわけじゃなく、ある型のインターフェースを持ちつつアクセス時の処理を入れたいだけ、ってのは 確かにC++にも欲しくなるね 大した例えじゃないと思うけど、いずれ似たようなことが出来るようになったらいいなぁ
|
- C++相談室 part133
527 :デフォルトの名無しさん (ワッチョイ 57b3-wlc6)[sage]:2017/12/13(水) 13:46:22.45 ID:VGyxWnO70 - >>525
プロパティっぽいことは実現できてると思うんだけど、 いかんせん型が違うから、例えばstringのメンバ関数呼び出しは出来ないし 暗黙のキャストが効かない場面でエラーになるんじゃないかな やっぱ言語でサポートしてくれないと限度がある と思ったけどT.P + T.Pとかが通って吹いた
|
- C++相談室 part133
530 :デフォルトの名無しさん (ワッチョイ 57b3-wlc6)[sage]:2017/12/13(水) 15:21:57.42 ID:VGyxWnO70 - >>528
何を偉そうに言ってるのかわからんが、俺も似たようなことやってきた上で言ってる カッコ1つ減らすためだけに、ってのはちょっと矮小化しすぎ >>523がどのような意図でリンク貼ったのかはわからんけど、 最後の一文でプロパティ便利だなっつってる 本質はアクセス時に処理を差し挟めることだと思うんだが クラステンプレートで仲介するのは、新しい型を定義することになるから ものすごい遠回りになるし、どうしてもC++の型システムと相性が悪い まぁ必須とは言わないけどあれば便利だなとは思う
|
- C++相談室 part133
535 :デフォルトの名無しさん (ワッチョイ 57b3-wlc6)[sage]:2017/12/13(水) 21:31:45.92 ID:VGyxWnO70 - >>533
Test<std::string> T; size_t a = T.P.size(); とかやった場合の話ね(もちろん明示・暗黙に関わらずキャストされたらいける 継承使えばメンバ関数もいけるだろうけど・・・・そうすると多分、スライシング等の問題が・・・・ そんなこんなでプロパティか、それに近い機能入ってもいんじゃね?と思っただけw
|