C++相談室 part142

レス数が1000を超えています。これ以上書き込みはできません。
2019/04/01(月) 22:17:05.84ID:wmfpIKt/
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/
C++相談室 part141
https://mevius.5ch.net/test/read.cgi/tech/1550772463/

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

■長いソースを貼るときはここへ。■
 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
2019/06/16(日) 19:22:19.26ID:NJ2skO19
move? be?
ステートチェンジしていくのだから、動作になるのか?
2019/06/16(日) 19:31:47.13ID:Va3vueK+
setterとgetterって何?
Javaじゃあるまいしそんなの言語要素としては用意してないよ
2019/06/16(日) 21:57:17.90ID:PFinGY+5
>>991
setterとgetterが何かについてはググった方が良い

Javaは詳しくは知らないが、ググった限りにおいて
Javaでもsetter/getterを定義する専用の言語要素など用意されていない印象
2019/06/16(日) 22:03:52.19ID:PFinGY+5
で、C++/Javaどっちも
 { setter } ∪ { getter } ⊂ { メソッド }
であることは明らかだが、では
 Q1. { メソッド } - ( { setter } ∪ { getter } )には何か専用の名前は無いのか?、
というのが>>909の質問の主旨。

ついでに言うと
 Q2. { setter } や{ getter }というのは本当に確定した集合なのか?
と、
 Q3. 「操作」と言ったときそれは{ メソッド }を指すのか { メソッド } - ( { setter } ∪ { getter } ) を指すのかどっちなんじゃ、
とかも知りたい
2019/06/16(日) 22:04:40.86ID:fCIbdDP9
>>989
シグナルとスロット(Qt脳)
2019/06/16(日) 22:54:20.07ID:PFinGY+5
>>994
シグナルとスロットというのはGUI操作を処理する目的のブツなので、
実行時の時間コストがゼロコストに近いことを気体されているハズ、
よって { メソッド } - ( { setter } ∪ { getter } ) の全て(この中には実行時の時間コストが青天井のブツも含まれる)を
包含しはしないのではないか、

まあここまで書いてオモタが、 { setter } ∪ { getter } こそ実行時時間コスト0を期待されるから、
setterやgetterは次の定義で良いのではないかという気がしてきた…

- 属性を取得する目的の操作であり、かつ実行時時間コスト≒0の実装が今現在も保たれているのがgetter

- 属性を変更する目的の操作であり、かつ実行時時間コスト≒0の実装が今現在も保たれているのがsetter
2019/06/16(日) 22:56:35.57ID:PFinGY+5
後ろ2行訂正orz、
正:
- 属性を取得する目的で設けられた操作であり、かつ実行時時間コスト≒0の実装が今現在も保たれているのがgetter

- 属性を変更する目的で設けられた操作であり、かつ実行時時間コスト≒0の実装が今現在も保たれているのがsetter
2019/06/16(日) 23:24:38.97ID:PFinGY+5
補足すると、「属性を取得する目的」や「属性を変更する目的」というのは、
インターフェースをクラスの主要な機能とは独立に変更できることを暗に言っている

例えばクラスFooのsetBar()が真にsetterならば、
属性をsetterでセットするのをやめて(Foo::setBar()を廃止して)ファイルから
直接読み込むメソッドFoo::readFromFile()に置き換えても、
クラスの主要な機能Foo::mainFunc()は変更せずに済むハズ

getterについても同様
2019/06/16(日) 23:56:38.00ID:WOfC/Ugn
operator=がsetterでoperator()がgetterにならない?
2019/06/17(月) 00:00:50.16ID:x+yzwFNm
c++かどうかなんて関係ない、オレオレ分類しているだけだろ
2019/06/17(月) 00:01:28.14ID:7HzfXopw
ずれてるのを承知で書くけど、直接読み込むメソッドってやつも含め setter なんてない方がいいよ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 1時間 44分 23秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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