C++相談室 part133

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1fcf-H1rY)
垢版 |
2017/11/24(金) 16:52:50.43ID:WoNXR2ax0
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

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

このスレもよろしくね。
【初心者歓迎】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
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/12/08(金) 23:52:39.34ID:IFoyYnlC0
そんな糞みたいなgetter書くくらいならpublic変数にしたほうがまし
2017/12/09(土) 00:00:04.12ID:jyWlwvil0
>>360
5chは初めてか?
ちょっと肩の力抜けよ
2017/12/09(土) 00:06:55.18ID:CGhksCFV0
プロパティー使いたいならエンバカ
2017/12/09(土) 00:30:19.70ID:/OGT/7c/0
そもそもプロパティをそのまま露出すんなって
371デフォルトの名無しさん (ワッチョイ 5778-T1Xs)
垢版 |
2017/12/09(土) 00:37:11.06ID:t6DuUCjM0
hage.sizeof みたいな書き方があってもいいけど、別になくてもいいからな
話は上がっているんだろうけど、優先順位はかなり低いと思うね
2017/12/09(土) 00:48:53.78ID:/xTkL2Yo0
>>366
constバージョンだけでよくない?
何で内部状態を他人に書き換え許可するのさ。
2017/12/09(土) 02:05:41.93ID:X5cpE3G30
>>368
>>359に言え
2017/12/09(土) 08:40:17.40ID:jyWlwvil0
夜中まで粘着 w
2017/12/09(土) 11:10:57.47ID:VQtjhM8H0
>>367
>>366のgetter/setterの中身はあくまでサンプルなのでは…

>>373
いちいちメソッド呼び出しの度に状態を引数渡しするほうが内部状態の露出として醜悪かもしれん…

つかデータメンバの書き換えはデータメンバの書き換えだからNGというものではなくて、
内部状態の整合性が保たれれば何だって良いんじゃ…
データメンバ直書き換えでなくsetterなら整合性をチェックしたり与えたりするチャンスがある
(あるいは排他制御とかやることもある…まあ慎重に考えたらsetterでやるよりロック回数が少ない方法がたいてい見つかるが、
2017/12/09(土) 11:13:16.09ID:VQtjhM8H0
アンカーミスった、
誤: >>373
正: >>372
2017/12/09(土) 12:28:24.94ID:IHtyR51x0
>>366 の実装はサンプルにしてもありえないだろう。
一度呼ばれて参照を保存されたら、変更を制御できなくなる。

int& status = a.Status();
status = 2;
378デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 13:28:08.16ID:xT8UfS000
>>377
それな。
中身だけでなく外見(インターフェース)も糞。かつそのインターフェースなら例外なく中身も糞になる
2017/12/09(土) 13:40:30.88ID:JczXMZr10
ここでgetter/setter言ってるのは例外なくどうしようもない低能だから無視してあげて下さい
2017/12/09(土) 14:04:38.96ID:Mc+Fg8lHd
int mydata() const; // getter
void mydata(int data); // setter

こういう感じの下駄瀬田は道南?
2017/12/09(土) 14:29:29.91ID:VQtjhM8H0
>>366のgetterの&を見落としていたorz
m_dataへのmutableなポインタを返すのではm_dataのgetterとは言えぬ
2017/12/09(土) 16:16:46.64ID:85CJr7Ot0
メンバ変数hogeにgetHoge,setHogeなんて名前の下駄雪駄を
機械的に作ろうとしてる事自体が間違いの可能性を考えろ

class Window
{
 int width, height;
 ...
 
 //まちがい
 int getWidth() const;
 int getHeight() const;
 void setWidth(int w);
 void setHeight(int h);

 //せいかい
 Size getCurrentFrameSize() const;
 void resize(int width, int height);
};
2017/12/09(土) 16:31:11.01ID:eDExTF/q0
>>382
>>320は、C#の機能があると便利ですねー。セッター/ゲッターが毎回定義するの?っていうお題じゃねーの?
どっからWindowやら、Sizeが出てきた?
2017/12/09(土) 16:38:09.40ID:85CJr7Ot0
クラス内部状態の変更は意味のある操作単位として外部に公開すべきであって
むやみに内部の変数を下駄雪駄として露出すんなっていうつもりだったんだが難しかったかな?
2017/12/09(土) 16:56:33.96ID:eDExTF/q0
>>384
そんな分かりきったことを議論することではないだろ。
C++の規格が新しくなってsetter/getterは従来道理なの?が質問。
set/getするときは、直の変数の読み書きの代用だけではななく、何かの処理をしたりして公開/制限付き公開するものじゃねーの?
2017/12/09(土) 17:16:31.79ID:rvn5Lgi+M
>>383
だからプロパティ単体で読み書きするのが常に正しい訳じゃないでしょってこと

> どっからWindowやら、Sizeが出てきた?
一例だってことわからないの?
387デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 17:25:01.50ID:xT8UfS000
>>385
従来通りだよ。
何がしたいのかはっきりさせないからこうなるんだよ。
メンバーへの代入のような記述でメンバー関数呼び出ししたいということか?
2017/12/09(土) 18:54:12.14ID:WISiBPL1d
昔どっかで下駄雪駄をクラスにして公開する方法が書いてあったな。
面白そうだったけと使おうとした事はなかった。
389デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 19:16:55.95ID:xT8UfS000
単にデータメンバー指定したらgetter setter相当のメンバー関数を自動生成するような機能が欲しいというなら他のやつが言うように思考停止したバカしか欲しがらない機能
EなんとかとかいうIDEには付いてるらしいが
2017/12/09(土) 20:17:03.24ID:FTIoFrRr0
理想はわかるけど、ある程度の規模のコードを書けば何だかんだでsetter/getterはけっこう書くだろ
2017/12/09(土) 20:17:55.36ID:qp4HeFcwM
.netのPropertyは実際のオブジェクトがバッキングフィールドってとこに完全隠蔽されることがメリット
C++では自動実装は不可能、同じ効果を得るならばpimplパターンでオブジェクトを隠蔽は可というのが答えではないだろうか
2017/12/09(土) 20:18:50.11ID:qp4HeFcwM
>>390
getterはともかくsetterは書かない
2017/12/09(土) 20:26:30.08ID:VQtjhM8H0
setter/getter批判論者は何を批判しているのかいまいちわからん…
class SomeWidget { // GUIのパーツか何か
 Color m_FgColor; // 前景色
 Color m_BgColor; // 背景色
 ...
};
とゆークラスがあったとして、
 void SomeWidget::setFgColor(Color color) { m_FgColor = color; }
 void SomeWidget::setBgColor(Color color) { m_BgColor = color; }
というのはsetterだからダメで、意味的にまとまりのある
 void SomeWidget::setColor(Color fgColor, Color bgColor) { m_FgColor = color; m_BgColor = color; }
とかにしないとダメだとかそーいう主張?

スゲーいらんお世話な気が…
2017/12/09(土) 20:43:02.98ID:X5cpE3G30
setter/getter自体を批判してんじゃなくて
自動生成をC++に求めるのを間違いだと言ってるだけだと思うが
2017/12/09(土) 21:05:37.85ID:jyWlwvil0
>>393
>  void SomeWidget::setColor(Color fgColor, Color bgColor) { m_FgColor = color; m_BgColor = color; }
> とかにしないとダメ
それを意味的にまとまりがあると考えるお前がおかしい
だからそんな頓珍漢なレスになるんだよ
2017/12/09(土) 21:10:02.77ID:85CJr7Ot0
クラスにメンバーがいっぱい→それぞれの下駄雪駄をいっぱい作らなきゃ!→楽な書き方ないの?

っていう発想から抜け出せてないんだろうけど
この最初の矢印がそもそも間違いだって言ってんだよ
まずはどんな操作をpublicで公開すべきなのかちゃんと設計しろ、話はそれからだ
結果的にただのgetterとsetterとして実装されるものはもちろんあるだろうし、それが悪いわけじゃないけど、
そんなのが自動生成しなきゃ追いつかないほど大量に出てくるようなら一回設計を疑うべきだ
397デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 21:10:22.08ID:xT8UfS000
内部のデータメンバーからインターフェースを作るのではなく、インターフェースから内部実装を書くという当たり前の事を言ってるだけ。
2017/12/09(土) 21:14:57.20ID:Z61PcTBCM
>>392
あんたすげーな
399デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 21:17:58.04ID:xT8UfS000
これC++に限った話じゃないからね。これが理解出来ないようだったら自分のソフトウェアの設計能力はとてつもなく低いと自覚した方がいい
2017/12/09(土) 23:03:23.79ID:/OGT/7c/0
>>393
なんでコンストラクタで初期化しないの?
401320酔っ払い (ワッチョイ b7e3-qmOZ)
垢版 |
2017/12/09(土) 23:18:04.72ID:2CXK8lIl0
正直聞きたい事はそういうことじゃねーのよ
簡単に記述する方法が導入された、される予定があるか知りたいだけ

C++にC#みたいなproperty要望無いの?
const地獄解は消されたのかな?
ってこれ!

具出すなは分かる>>377の言う通り例が悪かった
APIや世界に発信するライブライ作ってる訳じゃないけど
>>382これが普通なの?俺別にpublicゆーてないけど
protectedでもこんなまわりくどい事すんの?

そもそも設計が…言う前に”そんな方法は無い!”って言ってくれたら…
つーか言えっつーのお願いマイメロディー
2017/12/09(土) 23:20:31.63ID:/xTkL2Yo0
>>401
プロパティの言語サポートはない。
が、がんばればそれっぽいものをライブラリで作ることはできる。
2017/12/09(土) 23:21:13.23ID:as7dcCOb0
>>401
VC++になら最初からpropertyはあるし使えるが。
2017/12/09(土) 23:23:36.06ID:VQtjhM8H0
>>400
mutableなオブジェクトとして書きたい(ときもある)から
2017/12/09(土) 23:26:04.82ID:/xTkL2Yo0
>>403
それ、独自拡張かなんかでしょ?
2017/12/09(土) 23:27:21.61ID:fRg177Ch0
プロパティ厨しつこい
C#使ってろよ
public変数使う言い訳探してんじゃねえよ
2017/12/09(土) 23:30:23.37ID:as7dcCOb0
>>405
もち
408320 (ワッチョイ b7e3-qmOZ)
垢版 |
2017/12/09(土) 23:30:53.06ID:2CXK8lIl0
>>402
手間掛けたくないのであればなーって
自作出来ても汎用性無いでしょ。汎用性関係あるプログラムじゃないけど

>>403VC独自拡張?知らんかった
それが標準になりそうなら憶える価値あるだろうけど…
2017/12/09(土) 23:34:15.72ID:fRg177Ch0
間違いが広がっては困るから一応言っておくけど
>>403が言っているのはC++とは全く互換性のないC++/CLIのことな
2017/12/09(土) 23:35:31.46ID:VQtjhM8H0
>>409
ウィンドーズホン御用達言語のC++CXにもあるわ;
2017/12/09(土) 23:42:11.37ID:as7dcCOb0
>>408
覚えるも糞もあるかよ。C#のがそのままだよ。
というか、C#≒.NET≒VC++だから、C#の機能はVC++/CLIでは大概ほぼ使えるはずだが。
https://msdn.microsoft.com/ja-jp/library/2f1ec0b1.aspx

なお死ねには同意。
C#が良ければC#を使えばいいだけ、C#ライクなC++が欲しいならVC++/CLIを使えばいいだけ。
412デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/09(土) 23:43:07.64ID:xT8UfS000
>>410
お前死んだやろ…
2017/12/09(土) 23:47:47.55ID:UFGZ9ZWld
>>406
一時期流行ってたprivate厨さんちーす
2017/12/09(土) 23:48:58.02ID:VQtjhM8H0
>>412
ウィンドーズホンでネイティブC++を呼び出すための唯一の手段なので死んではいないハズ…
ttps://docs.microsoft.com/ja-jp/windows/uwp/winrt-components/creating-windows-runtime-components-in-cpp
2017/12/10(日) 00:02:10.31ID:dss2es1x0
C++/CLIのことをVC++っていうのやめろよ
それにC++風ですらないし
2017/12/10(日) 00:11:55.72ID:MJKB1Uts0
それは.netへの過渡期中の言語ですね
2017/12/10(日) 00:13:30.39ID:Rt5tAWZZ0
>>415
いや通称VC++だし、unmanagedはほぼC++11だぞ。
https://www.ruche-home.net/program/cpp/msvc
2017/12/10(日) 00:25:29.55ID:dss2es1x0
>>417
そっちじゃねえだろ
こっちだろ
https://ja.wikipedia.org/wiki/C%2B%2B/CLI
419デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/10(日) 00:27:56.18ID:Earl4FxN0
>>414
ウィンドーズホンが死んでるだろ…いい加減にしろ!
https://www.gizmodo.jp/2017/10/winodows-phone-is-dead.html
2017/12/10(日) 00:52:59.90ID:Rt5tAWZZ0
>>418
なるほど君は知らないんだな。VC++/CLIは混ぜられるんだよ。
君が言っているのはmanagedで、俺が言っているのはunmanaged。

まあ、どうせ君は使わないのだろうし、深く知る必要はないが。
2017/12/10(日) 00:58:12.05ID:dss2es1x0
ID:Rt5tAWZZ0 こいつ話噛み合わなさすぎてやべえぞ
2017/12/10(日) 06:32:52.80ID:dE7pgqu30
>>401
protectedこそちゃんと設計しないとメタメタになるだろうが
publicもprotectedもコードの利用者が自由に使えることには変わらんから公開インターフェースには変わらんぞ
お前もしかして「protectedだしメンバ全部下駄雪駄付けて継承先に丸出しするおー(^q^)」ってやってんの?
誰がどんな派生クラス作ってどんなふうにいじくって親クラスのふりして混入させてくるかわからないのに?
世界に発信しないからどうでもいいって?同僚や1年後の自分はたまったもんじゃねえな
2017/12/10(日) 09:34:29.32ID:H4MY5dOm0
>>404
死んでどうぞ
2017/12/10(日) 10:23:51.33ID:jGY33Ae80
>>423
ただ単にforeground colorまたはbackground colorを変更するだけのために
いちいちオブジェクトを破棄してGDIリソースを開放して再びGDIリソースを確保してオブジェクトを新規作成し直してどうぞ

>>423にとって不幸なことに、この惑星では現実のアーキテクチャーも現実の外部世界も移ろいゆくもの(mutable)なんじゃ
2017/12/10(日) 11:12:25.71ID:H4MY5dOm0
>>424
変更をstateとしてカプセル化しろという示唆だボケ
外からガチャガチャいじんな
2017/12/10(日) 12:09:09.67ID:jGY33Ae80
>>425
setForgroundColor(Color color)がカプセル化の結論ではありえないとする根拠は?
だいたいstateにせよ(=mutableな要素をオブジェクト内に受け入れる)というのは>>400から話が逸れているわけだが
2017/12/10(日) 12:12:47.79ID:dE7pgqu30
背景色が暗かったら前景色を明るくして見やすくするとかそういう制御はしないのか?
最初はしないつもりでも後から必要になったりリクエストが来たりしたらどうするんだ?
前景背景以外の第3の色のパーツが増えたらどうする?
アルファチャンネルが増えて半透明時はその裏側の色にも合わせて制御する必要が出てきたらどうする?

インターフェースってのは中のデータメンバーの下駄と雪駄とかそんなレベルで決めるもんじゃないんだよ
お前の言ってることは次元が低すぎるんだよ
2017/12/10(日) 12:17:16.01ID:dE7pgqu30
>>426
前景色をいつでも外部から独立に変えて良いオブジェクトならそれで構わないけど
それをforeColorメンバ変数があってそのsetterだから〜みたいな程度の低い議論で決めたんだとしたら
後で大変な苦労をすることになるだろうな
今のお前はしなくてもお前の同僚やユーザーや1年後のお前がな
2017/12/10(日) 12:22:05.28ID:jGY33Ae80
>>427
>背景色が暗かったら前景色を明るくして見やすくするとかそういう制御はしないのか?
>最初はしないつもりでも後から必要になったりリクエストが来たりしたらどうするんだ?
>前景背景以外の第3の色のパーツが増えたらどうする?
>アルファチャンネルが増えて半透明時はその裏側の色にも合わせて制御する必要が出てきたらどうする?
setForgroundColor()を備えた低水準なクラスを実現した上で、
ユーザーの好みや用途に合わせた高水準なクラスをかぶせる階層設計にする

なんでもかんでも詰め込んだクラス設計はアレくね?>>427の好みなのかもしれんが
2017/12/10(日) 12:28:25.79ID:dE7pgqu30
どういう設計にするかって話じゃなくて
設計を決めるのに最初からデータメンバーと下駄雪駄ありきで考えるのをやめろって言ってるんだが
何一つ伝わってないようで残念だ
2017/12/10(日) 12:35:10.91ID:jGY33Ae80
>>430
>設計を決めるのに最初からデータメンバーと下駄雪駄ありきで考えるのをやめろって言ってるんだが
はげどうで、それにたいするスレ内に書かれた情報を前提とする答えが階層設計(>>429
何一つ伝わってないようで残念だ

ていうか
>>427程度では可能性を列挙しているだけで何を作るべきなのか指定したことにならない
仕様提示も無しにクラスの詳細を設計せよとかどんだけ〜
2017/12/10(日) 13:12:04.65ID:dE7pgqu30
427は例えば前景背景色を変えるインターフェースを作るときに考慮しなきゃならなそうな事のほんの一例を挙げただけで
詳細設計しろなんて誰も言ってないんだが

最初に考慮すべきことはそもそも何を実現するつもりなのか、そのためにどういう操作を受け付けなきゃならないかであって、
privateのデータメンバーにbgColorがあるとかはどうでもいいし、必要ならそんなもの後から変えたっていいんだよ
それをデータメンバーありきで脳死で下駄雪駄付けてたら、そのメンバーの存在が公開外部仕様になって簡単に変えられなくなるんだよ

お前さんの例で言うと、不用意にsetFgColor()とsetBgColor()を公開したら、ずっとその2つを外部から独立に自由に変えられるようにしなきゃならなくなるの
本当にそうするべきなのかは、それこそオブジェクトの本来の目的次第で判断することでしょ?
「とにかくデータメンバーにbgColorとfgColorがあるんだからひつようなんです(^q^)」とか抜かしてたらバカで無能だと思うだろ?
お前さんは今そう見られてるんだよ
2017/12/10(日) 14:15:05.98ID:g5uppkbRM
buttonならselectedとかdeselectとか、たぶんそんなインターフェース。
color露出とか正気の沙汰ではない。
2017/12/10(日) 15:16:20.19ID:F4es0CSwM
setColor()なんてグラフィックコンテキストのIFならありがちだけどな。
2017/12/10(日) 15:18:46.15ID:g5uppkbRM
世の中のたくさんの組織で使われたりするような汎用ライブラリならね
2017/12/10(日) 15:25:40.37ID:NqbakoNJM
>>435
そういうライブラリならあり得るんだろ?
要件もわからんのに頑なに否定する ID:dE7pgqu30 がアホと言う結論でよろしいか?
2017/12/10(日) 15:48:26.65ID:wfBy9YeJ0
別にset〜Colorなんて普通にありだろ
変なふうに頭固いやついるね
2017/12/10(日) 16:44:14.11ID:g5uppkbRM
正直GUI系は納期に晒されやすいということもあってコードが汚くなりがちではある
それが劣っているとか優れてるとかではなく気の毒ではある
2017/12/10(日) 18:11:24.37ID:o/NiMYKz0
>>438
設計の話してるのにいきなり実態を語るとか話をそらそうと必死
って言うことでいい?
2017/12/10(日) 18:26:16.47ID:jGY33Ae80
>>432
>最初に考慮すべきことはそもそも何を実現するつもりなのか、そのためにどういう操作を受け付けなきゃならないかであって、
いやまさしくおっしゃるとおりで、
グラフィック部品のforeground colorとbackground colorは通常の表示ハードウェアの元では独立に変えられるブツなのだから
ハードウェア寄りなwrapperレベルの実装だとそれぞれ独立に露出するのが正しいという結論に…
(独立に弄っても内部状態の不整合は起きない。これがgetter/setterを公開してもよい基準である

>お前さんの例で言うと、不用意にsetFgColor()とsetBgColor()を公開したら、ずっとその2つを外部から独立に自由に変えられるようにしなきゃならなくなるの
ならない
階層設計の意味がわかっていない?
漏れのやり方で起きることは、Foreground colorとbackground colorの2つを公開したクラスXのインスタンスをいつでも作れるというだけで、
上位水準で要求される操作のみを受け付けるべくXを利用して実現するクラスYではsetFgColor()とsetBgColor()を隠蔽することができる。
(単にYが使うXのインスタンスをprivateにすれば良い

ていうか話を進める前にID:dE7pgqu30には>>426の2行目にお答えいただいてからにしていただきたいですのう…
>>400の話が途中から変わっていることには目をつぶって差し上げても良いので
2017/12/10(日) 21:00:01.55ID:dss2es1x0
そもそもセッターゲッター書きまくらなきゃいけなくなるんだけどどうすればいいの?っていう話では
2017/12/10(日) 22:12:52.74ID:EDTuXCra0
ゲッターロボ発進!
2017/12/10(日) 22:58:45.66ID:PwvSHD+00
>>441
俺が発端だとしたら書きまくるなんて言ってない
楽に書く方法導入されたかな〜って聞いただけ

されてないのは分かったからもういけど
444デフォルトの名無しさん (ワッチョイ 9fa6-ANK3)
垢版 |
2017/12/11(月) 01:44:26.10ID:NuxLjCLE0
>>443
残念ながら標準C++には無いねー。

俺の周りでも結構欲しがる人多いんだけど、何が良いのかいまいちわからないなー。
使うときに、変数を扱うような記法で、関数コールが出来るってだけだよね…
一文字減るだけで何が嬉しいのか…
2017/12/11(月) 02:10:24.19ID:OsSLt9Cy0
Bronze取りました
2017/12/11(月) 02:22:58.14ID:EZmt4HgD0
自分は邪道なのを承知でマクロ使っちゃってるよ
447デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/11(月) 03:18:45.90ID:hyRKWo4y0
>>444
それについては
to.setBackgroundColor(from.getTextColor());
より、
to.backgroundColor = from.textColor;
の方が読みやすいから俺は否定はしない
2017/12/11(月) 05:56:14.63ID:EZmt4HgD0
>>447
後でカラーが変更されたときに処理を追加したくなったときに面倒
449デフォルトの名無しさん (ワッチョイ ff6e-MWkS)
垢版 |
2017/12/11(月) 06:39:45.71ID:HCkpHsZ20
という、そもそもの話に行き着くだけだな
2017/12/11(月) 07:14:44.24ID:WHbaikY8M
>>448
話の流れも読めないのかよ...
451デフォルトの名無しさん (ワッチョイ ff6e-MWkS)
垢版 |
2017/12/11(月) 09:57:11.02ID:HCkpHsZ20
セッターとゲッターをいちいち作るのかという単純極まる話に流れもへったくれもあるか
2017/12/11(月) 10:07:16.62ID:hFPLSsub0
だからプロパティが欲しくなるって話なのに……
453デフォルトの名無しさん (ワッチョイ ff6e-MWkS)
垢版 |
2017/12/11(月) 10:33:50.92ID:HCkpHsZ20
欲しけりゃ作れというCいやBから続くハングリー精神を忘れた主張はいくら喚いても無駄だ
2017/12/11(月) 10:49:40.94ID:hFPLSsub0
話の流れ汲む気ねえな
455デフォルトの名無しさん (ワッチョイ ff6e-MWkS)
垢版 |
2017/12/11(月) 11:08:12.08ID:HCkpHsZ20
そういうおまえさんも、ここ僅か数レスの流れから目を背けているだろうが
456デフォルトの名無しさん (ワッチョイ 9f21-61ea)
垢版 |
2017/12/11(月) 15:05:22.47ID:HQgmyRrm0
不変条件がある→カプセル化(class)
不変条件がない→露出(struct)

では駄目なの?
2017/12/11(月) 15:51:19.48ID:iSg/oyC4d
ちょっと違う
2017/12/11(月) 15:57:28.19ID:maeT9tJH0
>>306
try-with-resources/java.lang.AutoCloseable, java.io.Closeable/Java7〜 ですか
459デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/12(火) 01:07:23.70ID:taGmyuVj0
>>448
お前は
>>444>>447を100回読み直して出直してこい
2017/12/12(火) 02:35:53.90ID:DNRoqyK/0
そうか。
2017/12/12(火) 02:55:44.93ID:aBOGkUwZ0
>そういうおまえさんも、ここ僅か数レスの流れから目を背けているだろうが

何回読んでもこのレス最強すぎて草生える
2017/12/12(火) 05:03:27.37ID:GtRyHF+60
>>459
何に腹立ててるのかまったくわからん
463デフォルトの名無しさん (ワッチョイ 9780-yV1O)
垢版 |
2017/12/12(火) 05:49:25.74ID:taGmyuVj0
>>462
いいから読み返してこい。自分がどんなトンチンカンなレス返したのか自覚するまで帰ってくるな。
2017/12/12(火) 06:04:07.77ID:GtRyHF+60
>>463
すまんマジでわからん
お手数ですが改めて解説して頂けますか?
2017/12/12(火) 07:20:11.15ID:55mcEBCKM
>>464
プロパティっつーのは
> to.backgroundColor = from.textColor;
みたいなコードでも.backgroundColorが変更された時の処理が書ける
って話だから
466デフォルトの名無しさん (スッップ Sdbf-6IXG)
垢版 |
2017/12/12(火) 08:10:48.13ID:R9+tEHmjd
プロパティが常に左辺値として扱えるってなら面白いけど、ただのシンタックスシュガーなんでしょ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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