X



C++相談室 part134
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 5fcb-Q2eK)
垢版 |
2018/01/20(土) 09:05:42.21ID:mJKRg6iz0
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/

■長いソースを貼るときはここへ。■
 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
0953デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
垢版 |
2018/03/31(土) 06:37:47.25ID:C63IJ9vb0
>>948
単純に &obj.int_prop と書いた時に、この式の型と値をどうするかは難しい問題じゃない?
intの一時オブジェクトへのポインタ、intのぬるぽ、int_propのgetterへの関数メンバポインタ、ill-formed
どれも問題あると思う
0958はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
垢版 |
2018/03/31(土) 09:16:04.32ID:nFIfPX7B0
>>953
一時オブジェクトへのポインタってことにする一択だと思うけどなぁ。

あくまでも「変数に見せかける」、
つまりは、ゲッタの呼出しに構文糖を付けて見かけ上だけ変数 (データメンバ) っぽいって立場を貫かないと、
余計な気を回してもわかり難さが増すだけだよ。
rvalue なのは仕方がない。
0966はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
垢版 |
2018/03/31(土) 09:26:00.49ID:nFIfPX7B0
>>959
変数に見せかける以上は変数と同じようにふるまうことを期待するってのは普通の要求じゃないか?
データメンバに対して操作するテンプレートはプロパティを操作するテンプレートとしても使えて欲しい。
でもまあ充分に「見せかける」ことが出来ないのなら問答無用でエラーになった方がマシではあるかもしれん。
0967デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
垢版 |
2018/03/31(土) 09:41:17.12ID:C63IJ9vb0
objがlvalueなのにobj.int_propがrvalueになるのはまずいと思うんだよなあ
うっかり関数の戻り値でその参照なんか返そうものなら相当わかりにくいバグになる
C#とかはその辺の問題どう解決してるのかしらね
0968デフォルトの名無しさん (ワッチョイ 9334-3URi)
垢版 |
2018/03/31(土) 09:48:31.98ID:Nj0xu+770
property int count {
>>() {return count_ ; } // getter
<<(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
};
みたいにアドレス抽出用のメソッドを追加すりゃ良いだけのような気がする
0976デフォルトの名無しさん (ワッチョイ 9334-3URi)
垢版 |
2018/03/31(土) 11:10:24.41ID:Nj0xu+770
using count = int {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
};
予約語増やさないならこんな感じに書けなくもない
0982デフォルトの名無しさん
垢版 |
2018/03/31(土) 13:50:16.75
>>950
クラスA, B, Cにそれぞれ自分自身のインスタンスを生成するstaticメソッドを用意し、
そのstaticメソッドへのポインタを返す共通メソッドを用意する。
0983デフォルトの名無しさん (ワッチョイ d3bd-qsUw)
垢版 |
2018/03/31(土) 14:23:30.31ID:aFk+9CH40
リフレクションがある言語でGUIの画面またはユーザーコントロールを作成する際に
YSIWYGで作ることをやれるIDEを作りたい、というときに、メンバー関数とプロパティーの2種類あったら便利なのや

C++にプロパティー入れたらリフレクションも来るでこれは…

もっとも上記課題解決のための技術は10年も前にWPFの登場で丸ごと過去の技術やがな…
0984デフォルトの名無しさん (ワッチョイ d3bd-qsUw)
垢版 |
2018/03/31(土) 14:30:32.65ID:aFk+9CH40
ていうかWPFのコンバーターの書き方とか、メンバ関数に逆戻りやぞ…
(IValueConverter.Convert(), IValueConverter.ConvertBack(),
 IMultiValueConverter.Conver(), IMultiValueConverter.ConvertBack(), ...
0986デフォルトの名無しさん (ワッチョイ d180-3UCh)
垢版 |
2018/03/31(土) 16:09:17.20ID:D1vbg0pQ0
リフレクションがあれば死なずに済んだ人もいるだろうに。
0992デフォルトの名無しさん (アウアウウー Sa45-HAdz)
垢版 |
2018/04/01(日) 19:11:40.34ID:BG5JJopwa
pimplイデオムはなんとなくわかるけど、俺の友達の友達は編集したい対象を別のクラスに分けてしまうこと?
0999デフォルトの名無しさん
垢版 |
2018/04/02(月) 11:52:25.29
>>998
WYSIWYGのtypoなだけやん
アスペか
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 72日 3時間 44分 41秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況