次スレを立てる時は本文の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
探検
C++相談室 part133
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1fcf-H1rY)
2017/11/24(金) 16:52:50.43ID:WoNXR2ax0341デフォルトの名無しさん (ワッチョイ dee7-JjO2)
2017/12/06(水) 20:29:30.14ID:EpXMgW7A0 独自拡張で0の代わりに関数ポインタ代入できるようにした糞コンパイラと
それ使ってイベントハンドラかなんかの設定するようになってる糞システムが
なんかあったような気がするけど誰か覚えてない?
それ使ってイベントハンドラかなんかの設定するようになってる糞システムが
なんかあったような気がするけど誰か覚えてない?
342デフォルトの名無しさん (ワッチョイ a66e-hJGX)
2017/12/06(水) 21:00:00.17ID:yhpve1PE0343デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/07(木) 01:28:26.94ID:lJwR2NaH0 =0、漏れはしゅき!!!!1!!!!!11!
キーワードを増やさなくて済む
切り札は最後までとっておくべきものじゃ
キーワードを増やさなくて済む
切り札は最後までとっておくべきものじゃ
344デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/07(木) 01:56:58.07ID:lJwR2NaH0 つかpureみたいな柔弱で恥ずかしい感じのキーワードを追加してくれなくて本当に良かった
345デフォルトの名無しさん (ワッチョイ 5704-IpD3)
2017/12/07(木) 02:03:07.27ID:5gbe7aWB0 ピュア関数の提案は出てたよ。最適化に効くとかで。
346デフォルトの名無しさん (ワッチョイ 9f34-Xhpf)
2017/12/07(木) 02:13:17.50ID:ETsKWPG+0 ピュアプリズム!
347デフォルトの名無しさん (ワッチョイ 5778-T1Xs)
2017/12/07(木) 02:18:10.34ID:clrrPlpA0 C++98だかでポインタ値にNULLじゃなくて0を使うのが推奨されていた頃の名残じゃないかな
の割にはnullptrを指定するとエラーになるけど
の割にはnullptrを指定するとエラーになるけど
348はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-StTJ)
2017/12/07(木) 02:43:01.31ID:vxJqQn/b0 文脈依存キーワードを導入しちゃったからな。
pure も有りといえば有りな気はしないでもない。
pure も有りといえば有りな気はしないでもない。
349デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/07(木) 19:18:50.53ID:TKFMtTzr0 pure関数って状態を持たない関数であって純粋仮想関数とは別物だぞ
350デフォルトの名無しさん (ワッチョイ 5704-IpD3)
2017/12/07(木) 19:49:26.48ID:5gbe7aWB0 >>347
標準委員の人がそういう意味じゃないよ。適当に決められたんだよ。って言ってた。
標準委員の人がそういう意味じゃないよ。適当に決められたんだよ。って言ってた。
351デフォルトの名無しさん (ドコグロ MMeb-45bT)
2017/12/07(木) 20:45:51.07ID:G7lyLovKM >>349
この話の流れで virtual pure function でないと思ってるお前が不憫だよ...
この話の流れで virtual pure function でないと思ってるお前が不憫だよ...
352デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/07(木) 22:05:02.33ID:lJwR2NaH0 =0は最初ボーランドが勝手に実装した、とどこかで読んだが
じゃあ=0より前のC++には純粋仮想関数は無かったのやろうか…
じゃあ=0より前のC++には純粋仮想関数は無かったのやろうか…
353デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/07(木) 22:43:46.61ID:lJwR2NaH0 ていうか
class Foo {
public:
void someMethod() { }
};
と書くしかなかったものが
class Foo {
public:
void someMethod() = 0;
};
になったのだとしたら
文字数的にもバランスがとれた良い追加構文
class Foo {
public:
void someMethod() { }
};
と書くしかなかったものが
class Foo {
public:
void someMethod() = 0;
};
になったのだとしたら
文字数的にもバランスがとれた良い追加構文
354デフォルトの名無しさん (ワッチョイ ff6e-5CBX)
2017/12/08(金) 07:14:19.07ID:zfye+4U00355デフォルトの名無しさん (ワッチョイ bf8a-ufcO)
2017/12/08(金) 08:40:57.49ID:t5VCrWbM0 ダダこねるな
356デフォルトの名無しさん (スップ Sd3f-jN+0)
2017/12/08(金) 10:07:38.22ID:Z3siquAKd publicが嫌ならstructで宣言しろよ
357デフォルトの名無しさん (ササクッテロル Sp8b-AVOn)
2017/12/08(金) 10:07:41.82ID:2Zvn0bTbp >>351
pure virtualだろ?virtual pureってなんだよ
pure virtualだろ?virtual pureってなんだよ
358デフォルトの名無しさん (ワッチョイ 9f34-Xhpf)
2017/12/08(金) 10:10:30.07ID:vOIFbJvh0 ピュアトゥインクル!
359デフォルトの名無しさん (ドコグロ MMdf-45bT)
2017/12/08(金) 13:00:32.45ID:PXTxgSdcM >>357
すまん、そんなアホなところにまで突っ込まないとダメなほど必死だとは思わなかったよ w
すまん、そんなアホなところにまで突っ込まないとダメなほど必死だとは思わなかったよ w
360357 (ワッチョイ 57b3-wJM8)
2017/12/08(金) 18:17:55.92ID:eC9D+0x50 必死なのはお前だろ
誰と同一人物だと思ったんだw
俺この話に参加したの初めてだぞ
誰と同一人物だと思ったんだw
俺この話に参加したの初めてだぞ
361デフォルトの名無しさん (ワッチョイ 57b3-wJM8)
2017/12/08(金) 18:29:46.65ID:eC9D+0x50362デフォルトの名無しさん (ワッチョイ 9f72-QvkH)
2017/12/08(金) 20:49:15.62ID:oKg6KkSA0 質問があります。
コンパイラはMicrosoft(R) C/C++ Optimizing Compiler Version 19.12.25830.2 for x86
class A {
public:
explicit A( void ) {}
};
struct B {
A a;
};
int
main( int, char ** )
{
B b;
B b2( {} );
B b3 = {};
B b4{};
return 0;
}
上記のソースをオプション/std:c++latestを付けるとエラー、つけないとエラー無しになります。
対処だけだったらAのコンストラクタからexplicitを取れば良いのですが、
何故エラーになるのかがイマイチ理解できていません。
C++17の波括弧初期化の型推論の新規則あたりがそれっぽいですがその辺を読んでも理解できていません。
(そもそも引数無しのコンストラクタにexplicitを何故付けるのかって突っ込まれそう)
コンパイラはMicrosoft(R) C/C++ Optimizing Compiler Version 19.12.25830.2 for x86
class A {
public:
explicit A( void ) {}
};
struct B {
A a;
};
int
main( int, char ** )
{
B b;
B b2( {} );
B b3 = {};
B b4{};
return 0;
}
上記のソースをオプション/std:c++latestを付けるとエラー、つけないとエラー無しになります。
対処だけだったらAのコンストラクタからexplicitを取れば良いのですが、
何故エラーになるのかがイマイチ理解できていません。
C++17の波括弧初期化の型推論の新規則あたりがそれっぽいですがその辺を読んでも理解できていません。
(そもそも引数無しのコンストラクタにexplicitを何故付けるのかって突っ込まれそう)
363デフォルトの名無しさん (スップ Sd3f-Hl5D)
2017/12/08(金) 21:05:07.58ID:5s0/Hyw7d 今時なんで32ビットなんて使うんだろ?
364デフォルトの名無しさん (ワッチョイ bf8a-ufcO)
2017/12/08(金) 21:19:10.75ID:t5VCrWbM0 >>362
エラーメッセージ読めねーのか?
エラーメッセージ読めねーのか?
365デフォルトの名無しさん (ワッチョイ 9fb3-Hxc3)
2017/12/08(金) 21:25:34.24ID:2vsjK8u+0 ベイトレのatomが32bitという負債
366320 (ワッチョイ b7e3-qmOZ)
2017/12/08(金) 23:32:07.03ID:uQLcRAb10 前にgetter/setterプロパティ書いた者だす
getter/setterは有効な回答得られず
03→17/20でも、例えば
int& Status() { return m_status; }
const int& Status() { return m_status; } const
の二重定義必要?
おやすみなさい
getter/setterは有効な回答得られず
03→17/20でも、例えば
int& Status() { return m_status; }
const int& Status() { return m_status; } const
の二重定義必要?
おやすみなさい
367デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/08(金) 23:52:39.34ID:IFoyYnlC0 そんな糞みたいなgetter書くくらいならpublic変数にしたほうがまし
368デフォルトの名無しさん (ワッチョイ 9fb3-45bT)
2017/12/09(土) 00:00:04.12ID:jyWlwvil0369デフォルトの名無しさん (ワッチョイ 9f34-Xhpf)
2017/12/09(土) 00:06:55.18ID:CGhksCFV0 プロパティー使いたいならエンバカ
370デフォルトの名無しさん (ワッチョイ ff81-WAMQ)
2017/12/09(土) 00:30:19.70ID:/OGT/7c/0 そもそもプロパティをそのまま露出すんなって
371デフォルトの名無しさん (ワッチョイ 5778-T1Xs)
2017/12/09(土) 00:37:11.06ID:t6DuUCjM0 hage.sizeof みたいな書き方があってもいいけど、別になくてもいいからな
話は上がっているんだろうけど、優先順位はかなり低いと思うね
話は上がっているんだろうけど、優先順位はかなり低いと思うね
372デフォルトの名無しさん (ワッチョイ 5704-IpD3)
2017/12/09(土) 00:48:53.78ID:/xTkL2Yo0373デフォルトの名無しさん (ワッチョイ 57b3-wlc6)
2017/12/09(土) 02:05:41.93ID:X5cpE3G30374デフォルトの名無しさん (ワッチョイ 9fb3-45bT)
2017/12/09(土) 08:40:17.40ID:jyWlwvil0 夜中まで粘着 w
375デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/09(土) 11:10:57.47ID:VQtjhM8H0376デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/09(土) 11:13:16.09ID:VQtjhM8H0377デフォルトの名無しさん (ワッチョイ ff56-Nf6k)
2017/12/09(土) 12:28:24.94ID:IHtyR51x0378デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/09(土) 13:28:08.16ID:xT8UfS000379デフォルトの名無しさん (ワッチョイ bf8a-ufcO)
2017/12/09(土) 13:40:30.88ID:JczXMZr10 ここでgetter/setter言ってるのは例外なくどうしようもない低能だから無視してあげて下さい
380片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-n3/l)
2017/12/09(土) 14:04:38.96ID:Mc+Fg8lHd int mydata() const; // getter
void mydata(int data); // setter
こういう感じの下駄瀬田は道南?
void mydata(int data); // setter
こういう感じの下駄瀬田は道南?
381デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/09(土) 14:29:29.91ID:VQtjhM8H0 >>366のgetterの&を見落としていたorz
m_dataへのmutableなポインタを返すのではm_dataのgetterとは言えぬ
m_dataへのmutableなポインタを返すのではm_dataのgetterとは言えぬ
382デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
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);
};
機械的に作ろうとしてる事自体が間違いの可能性を考えろ
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);
};
383デフォルトの名無しさん (ワッチョイ bf9f-wlc6)
2017/12/09(土) 16:31:11.01ID:eDExTF/q0384デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/09(土) 16:38:09.40ID:85CJr7Ot0 クラス内部状態の変更は意味のある操作単位として外部に公開すべきであって
むやみに内部の変数を下駄雪駄として露出すんなっていうつもりだったんだが難しかったかな?
むやみに内部の変数を下駄雪駄として露出すんなっていうつもりだったんだが難しかったかな?
385デフォルトの名無しさん (ワッチョイ bf9f-wlc6)
2017/12/09(土) 16:56:33.96ID:eDExTF/q0 >>384
そんな分かりきったことを議論することではないだろ。
C++の規格が新しくなってsetter/getterは従来道理なの?が質問。
set/getするときは、直の変数の読み書きの代用だけではななく、何かの処理をしたりして公開/制限付き公開するものじゃねーの?
そんな分かりきったことを議論することではないだろ。
C++の規格が新しくなってsetter/getterは従来道理なの?が質問。
set/getするときは、直の変数の読み書きの代用だけではななく、何かの処理をしたりして公開/制限付き公開するものじゃねーの?
386デフォルトの名無しさん (ドコグロ MMdf-45bT)
2017/12/09(土) 17:16:31.79ID:rvn5Lgi+M387デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/09(土) 17:25:01.50ID:xT8UfS000388デフォルトの名無しさん (スプッッ Sd3f-q8ec)
2017/12/09(土) 18:54:12.14ID:WISiBPL1d 昔どっかで下駄雪駄をクラスにして公開する方法が書いてあったな。
面白そうだったけと使おうとした事はなかった。
面白そうだったけと使おうとした事はなかった。
389デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/09(土) 19:16:55.95ID:xT8UfS000 単にデータメンバー指定したらgetter setter相当のメンバー関数を自動生成するような機能が欲しいというなら他のやつが言うように思考停止したバカしか欲しがらない機能
EなんとかとかいうIDEには付いてるらしいが
EなんとかとかいうIDEには付いてるらしいが
390デフォルトの名無しさん (ワッチョイ 17b3-G2/9)
2017/12/09(土) 20:17:03.24ID:FTIoFrRr0 理想はわかるけど、ある程度の規模のコードを書けば何だかんだでsetter/getterはけっこう書くだろ
391デフォルトの名無しさん (ワントンキン MM7f-WAMQ)
2017/12/09(土) 20:17:55.36ID:qp4HeFcwM .netのPropertyは実際のオブジェクトがバッキングフィールドってとこに完全隠蔽されることがメリット
C++では自動実装は不可能、同じ効果を得るならばpimplパターンでオブジェクトを隠蔽は可というのが答えではないだろうか
C++では自動実装は不可能、同じ効果を得るならばpimplパターンでオブジェクトを隠蔽は可というのが答えではないだろうか
392デフォルトの名無しさん (ワントンキン MM7f-WAMQ)
2017/12/09(土) 20:18:50.11ID:qp4HeFcwM >>390
getterはともかくsetterは書かない
getterはともかくsetterは書かない
393デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
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; }
とかにしないとダメだとかそーいう主張?
スゲーいらんお世話な気が…
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; }
とかにしないとダメだとかそーいう主張?
スゲーいらんお世話な気が…
394デフォルトの名無しさん (ワッチョイ 57b3-wlc6)
2017/12/09(土) 20:43:02.98ID:X5cpE3G30 setter/getter自体を批判してんじゃなくて
自動生成をC++に求めるのを間違いだと言ってるだけだと思うが
自動生成をC++に求めるのを間違いだと言ってるだけだと思うが
395デフォルトの名無しさん (ワッチョイ 9fb3-45bT)
2017/12/09(土) 21:05:37.85ID:jyWlwvil0 >>393
> void SomeWidget::setColor(Color fgColor, Color bgColor) { m_FgColor = color; m_BgColor = color; }
> とかにしないとダメ
それを意味的にまとまりがあると考えるお前がおかしい
だからそんな頓珍漢なレスになるんだよ
> void SomeWidget::setColor(Color fgColor, Color bgColor) { m_FgColor = color; m_BgColor = color; }
> とかにしないとダメ
それを意味的にまとまりがあると考えるお前がおかしい
だからそんな頓珍漢なレスになるんだよ
396デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/09(土) 21:10:02.77ID:85CJr7Ot0 クラスにメンバーがいっぱい→それぞれの下駄雪駄をいっぱい作らなきゃ!→楽な書き方ないの?
っていう発想から抜け出せてないんだろうけど
この最初の矢印がそもそも間違いだって言ってんだよ
まずはどんな操作をpublicで公開すべきなのかちゃんと設計しろ、話はそれからだ
結果的にただのgetterとsetterとして実装されるものはもちろんあるだろうし、それが悪いわけじゃないけど、
そんなのが自動生成しなきゃ追いつかないほど大量に出てくるようなら一回設計を疑うべきだ
っていう発想から抜け出せてないんだろうけど
この最初の矢印がそもそも間違いだって言ってんだよ
まずはどんな操作をpublicで公開すべきなのかちゃんと設計しろ、話はそれからだ
結果的にただのgetterとsetterとして実装されるものはもちろんあるだろうし、それが悪いわけじゃないけど、
そんなのが自動生成しなきゃ追いつかないほど大量に出てくるようなら一回設計を疑うべきだ
397デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/09(土) 21:10:22.08ID:xT8UfS000 内部のデータメンバーからインターフェースを作るのではなく、インターフェースから内部実装を書くという当たり前の事を言ってるだけ。
398デフォルトの名無しさん (ブーイモ MMbb-fHNr)
2017/12/09(土) 21:14:57.20ID:Z61PcTBCM >>392
あんたすげーな
あんたすげーな
399デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/09(土) 21:17:58.04ID:xT8UfS000 これC++に限った話じゃないからね。これが理解出来ないようだったら自分のソフトウェアの設計能力はとてつもなく低いと自覚した方がいい
400デフォルトの名無しさん (ワッチョイ ff81-WAMQ)
2017/12/09(土) 23:03:23.79ID:/OGT/7c/0 >>393
なんでコンストラクタで初期化しないの?
なんでコンストラクタで初期化しないの?
401320酔っ払い (ワッチョイ b7e3-qmOZ)
2017/12/09(土) 23:18:04.72ID:2CXK8lIl0402デフォルトの名無しさん (ワッチョイ 5704-IpD3)
2017/12/09(土) 23:20:31.63ID:/xTkL2Yo0403デフォルトの名無しさん (ワッチョイ 579f-F7Qh)
2017/12/09(土) 23:21:13.23ID:as7dcCOb0 >>401
VC++になら最初からpropertyはあるし使えるが。
VC++になら最初からpropertyはあるし使えるが。
404デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/09(土) 23:23:36.06ID:VQtjhM8H0 >>400
mutableなオブジェクトとして書きたい(ときもある)から
mutableなオブジェクトとして書きたい(ときもある)から
405デフォルトの名無しさん (ワッチョイ 5704-IpD3)
2017/12/09(土) 23:26:04.82ID:/xTkL2Yo0 >>403
それ、独自拡張かなんかでしょ?
それ、独自拡張かなんかでしょ?
406デフォルトの名無しさん (ワッチョイ 1f7e-qmOZ)
2017/12/09(土) 23:27:21.61ID:fRg177Ch0 プロパティ厨しつこい
C#使ってろよ
public変数使う言い訳探してんじゃねえよ
C#使ってろよ
public変数使う言い訳探してんじゃねえよ
407デフォルトの名無しさん (ワッチョイ 579f-F7Qh)
2017/12/09(土) 23:30:23.37ID:as7dcCOb0 >>405
もち
もち
408320 (ワッチョイ b7e3-qmOZ)
2017/12/09(土) 23:30:53.06ID:2CXK8lIl0409デフォルトの名無しさん (ワッチョイ 1f7e-qmOZ)
2017/12/09(土) 23:34:15.72ID:fRg177Ch0 間違いが広がっては困るから一応言っておくけど
>>403が言っているのはC++とは全く互換性のないC++/CLIのことな
>>403が言っているのはC++とは全く互換性のないC++/CLIのことな
410デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/09(土) 23:35:31.46ID:VQtjhM8H0 >>409
ウィンドーズホン御用達言語のC++CXにもあるわ;
ウィンドーズホン御用達言語のC++CXにもあるわ;
411デフォルトの名無しさん (ワッチョイ 579f-F7Qh)
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を使えばいいだけ。
覚えるも糞もあるかよ。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
お前死んだやろ…
お前死んだやろ…
413デフォルトの名無しさん (スププ Sdbf-dpgO)
2017/12/09(土) 23:47:47.55ID:UFGZ9ZWld >>406
一時期流行ってたprivate厨さんちーす
一時期流行ってたprivate厨さんちーす
414デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
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
ウィンドーズホンでネイティブC++を呼び出すための唯一の手段なので死んではいないハズ…
ttps://docs.microsoft.com/ja-jp/windows/uwp/winrt-components/creating-windows-runtime-components-in-cpp
415デフォルトの名無しさん (ワッチョイ 1f7e-qmOZ)
2017/12/10(日) 00:02:10.31ID:dss2es1x0 C++/CLIのことをVC++っていうのやめろよ
それにC++風ですらないし
それにC++風ですらないし
416デフォルトの名無しさん (ワッチョイ ffe9-+LjN)
2017/12/10(日) 00:11:55.72ID:MJKB1Uts0 それは.netへの過渡期中の言語ですね
417デフォルトの名無しさん (ワッチョイ 579f-F7Qh)
2017/12/10(日) 00:13:30.39ID:Rt5tAWZZ0418デフォルトの名無しさん (ワッチョイ 1f7e-qmOZ)
2017/12/10(日) 00:25:29.55ID:dss2es1x0419デフォルトの名無しさん (ワッチョイ 9780-yV1O)
2017/12/10(日) 00:27:56.18ID:Earl4FxN0420デフォルトの名無しさん (ワッチョイ 579f-F7Qh)
2017/12/10(日) 00:52:59.90ID:Rt5tAWZZ0 >>418
なるほど君は知らないんだな。VC++/CLIは混ぜられるんだよ。
君が言っているのはmanagedで、俺が言っているのはunmanaged。
まあ、どうせ君は使わないのだろうし、深く知る必要はないが。
なるほど君は知らないんだな。VC++/CLIは混ぜられるんだよ。
君が言っているのはmanagedで、俺が言っているのはunmanaged。
まあ、どうせ君は使わないのだろうし、深く知る必要はないが。
421デフォルトの名無しさん (ワッチョイ 1f7e-qmOZ)
2017/12/10(日) 00:58:12.05ID:dss2es1x0 ID:Rt5tAWZZ0 こいつ話噛み合わなさすぎてやべえぞ
422デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/10(日) 06:32:52.80ID:dE7pgqu30 >>401
protectedこそちゃんと設計しないとメタメタになるだろうが
publicもprotectedもコードの利用者が自由に使えることには変わらんから公開インターフェースには変わらんぞ
お前もしかして「protectedだしメンバ全部下駄雪駄付けて継承先に丸出しするおー(^q^)」ってやってんの?
誰がどんな派生クラス作ってどんなふうにいじくって親クラスのふりして混入させてくるかわからないのに?
世界に発信しないからどうでもいいって?同僚や1年後の自分はたまったもんじゃねえな
protectedこそちゃんと設計しないとメタメタになるだろうが
publicもprotectedもコードの利用者が自由に使えることには変わらんから公開インターフェースには変わらんぞ
お前もしかして「protectedだしメンバ全部下駄雪駄付けて継承先に丸出しするおー(^q^)」ってやってんの?
誰がどんな派生クラス作ってどんなふうにいじくって親クラスのふりして混入させてくるかわからないのに?
世界に発信しないからどうでもいいって?同僚や1年後の自分はたまったもんじゃねえな
423デフォルトの名無しさん (ワッチョイ ff81-WAMQ)
2017/12/10(日) 09:34:29.32ID:H4MY5dOm0 >>404
死んでどうぞ
死んでどうぞ
424デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/10(日) 10:23:51.33ID:jGY33Ae80425デフォルトの名無しさん (ワッチョイ ff81-WAMQ)
2017/12/10(日) 11:12:25.71ID:H4MY5dOm0426デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/10(日) 12:09:09.67ID:jGY33Ae80427デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/10(日) 12:12:47.79ID:dE7pgqu30 背景色が暗かったら前景色を明るくして見やすくするとかそういう制御はしないのか?
最初はしないつもりでも後から必要になったりリクエストが来たりしたらどうするんだ?
前景背景以外の第3の色のパーツが増えたらどうする?
アルファチャンネルが増えて半透明時はその裏側の色にも合わせて制御する必要が出てきたらどうする?
インターフェースってのは中のデータメンバーの下駄と雪駄とかそんなレベルで決めるもんじゃないんだよ
お前の言ってることは次元が低すぎるんだよ
最初はしないつもりでも後から必要になったりリクエストが来たりしたらどうするんだ?
前景背景以外の第3の色のパーツが増えたらどうする?
アルファチャンネルが増えて半透明時はその裏側の色にも合わせて制御する必要が出てきたらどうする?
インターフェースってのは中のデータメンバーの下駄と雪駄とかそんなレベルで決めるもんじゃないんだよ
お前の言ってることは次元が低すぎるんだよ
428デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/10(日) 12:17:16.01ID:dE7pgqu30 >>426
前景色をいつでも外部から独立に変えて良いオブジェクトならそれで構わないけど
それをforeColorメンバ変数があってそのsetterだから〜みたいな程度の低い議論で決めたんだとしたら
後で大変な苦労をすることになるだろうな
今のお前はしなくてもお前の同僚やユーザーや1年後のお前がな
前景色をいつでも外部から独立に変えて良いオブジェクトならそれで構わないけど
それをforeColorメンバ変数があってそのsetterだから〜みたいな程度の低い議論で決めたんだとしたら
後で大変な苦労をすることになるだろうな
今のお前はしなくてもお前の同僚やユーザーや1年後のお前がな
429デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/10(日) 12:22:05.28ID:jGY33Ae80430デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/10(日) 12:28:25.79ID:dE7pgqu30 どういう設計にするかって話じゃなくて
設計を決めるのに最初からデータメンバーと下駄雪駄ありきで考えるのをやめろって言ってるんだが
何一つ伝わってないようで残念だ
設計を決めるのに最初からデータメンバーと下駄雪駄ありきで考えるのをやめろって言ってるんだが
何一つ伝わってないようで残念だ
431デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
2017/12/10(日) 12:35:10.91ID:jGY33Ae80432デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)
2017/12/10(日) 13:12:04.65ID:dE7pgqu30 427は例えば前景背景色を変えるインターフェースを作るときに考慮しなきゃならなそうな事のほんの一例を挙げただけで
詳細設計しろなんて誰も言ってないんだが
最初に考慮すべきことはそもそも何を実現するつもりなのか、そのためにどういう操作を受け付けなきゃならないかであって、
privateのデータメンバーにbgColorがあるとかはどうでもいいし、必要ならそんなもの後から変えたっていいんだよ
それをデータメンバーありきで脳死で下駄雪駄付けてたら、そのメンバーの存在が公開外部仕様になって簡単に変えられなくなるんだよ
お前さんの例で言うと、不用意にsetFgColor()とsetBgColor()を公開したら、ずっとその2つを外部から独立に自由に変えられるようにしなきゃならなくなるの
本当にそうするべきなのかは、それこそオブジェクトの本来の目的次第で判断することでしょ?
「とにかくデータメンバーにbgColorとfgColorがあるんだからひつようなんです(^q^)」とか抜かしてたらバカで無能だと思うだろ?
お前さんは今そう見られてるんだよ
詳細設計しろなんて誰も言ってないんだが
最初に考慮すべきことはそもそも何を実現するつもりなのか、そのためにどういう操作を受け付けなきゃならないかであって、
privateのデータメンバーにbgColorがあるとかはどうでもいいし、必要ならそんなもの後から変えたっていいんだよ
それをデータメンバーありきで脳死で下駄雪駄付けてたら、そのメンバーの存在が公開外部仕様になって簡単に変えられなくなるんだよ
お前さんの例で言うと、不用意にsetFgColor()とsetBgColor()を公開したら、ずっとその2つを外部から独立に自由に変えられるようにしなきゃならなくなるの
本当にそうするべきなのかは、それこそオブジェクトの本来の目的次第で判断することでしょ?
「とにかくデータメンバーにbgColorとfgColorがあるんだからひつようなんです(^q^)」とか抜かしてたらバカで無能だと思うだろ?
お前さんは今そう見られてるんだよ
433デフォルトの名無しさん (ワントンキン MM7f-WAMQ)
2017/12/10(日) 14:15:05.98ID:g5uppkbRM buttonならselectedとかdeselectとか、たぶんそんなインターフェース。
color露出とか正気の沙汰ではない。
color露出とか正気の沙汰ではない。
434デフォルトの名無しさん (ブーイモ MMcf-fHNr)
2017/12/10(日) 15:16:20.19ID:F4es0CSwM setColor()なんてグラフィックコンテキストのIFならありがちだけどな。
435デフォルトの名無しさん (ワントンキン MM7f-WAMQ)
2017/12/10(日) 15:18:46.15ID:g5uppkbRM 世の中のたくさんの組織で使われたりするような汎用ライブラリならね
436デフォルトの名無しさん (ドコグロ MMdf-45bT)
2017/12/10(日) 15:25:40.37ID:NqbakoNJM437デフォルトの名無しさん (ワッチョイ 178a-ufcO)
2017/12/10(日) 15:48:26.65ID:wfBy9YeJ0 別にset〜Colorなんて普通にありだろ
変なふうに頭固いやついるね
変なふうに頭固いやついるね
438デフォルトの名無しさん (ワントンキン MM7f-WAMQ)
2017/12/10(日) 16:44:14.11ID:g5uppkbRM 正直GUI系は納期に晒されやすいということもあってコードが汚くなりがちではある
それが劣っているとか優れてるとかではなく気の毒ではある
それが劣っているとか優れてるとかではなく気の毒ではある
439デフォルトの名無しさん (ワッチョイ 9fb3-45bT)
2017/12/10(日) 18:11:24.37ID:o/NiMYKz0440デフォルトの名無しさん (ワッチョイ 9fbd-aiou)
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の話が途中から変わっていることには目をつぶって差し上げても良いので
>最初に考慮すべきことはそもそも何を実現するつもりなのか、そのためにどういう操作を受け付けなきゃならないかであって、
いやまさしくおっしゃるとおりで、
グラフィック部品の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の話が途中から変わっていることには目をつぶって差し上げても良いので
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 今年の漢字 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 【老舗文具メーカー】「生成AIで制作していた」――サクラクレパス、“AI疑惑”ポスターの調査結果を報告 ★2 [ぐれ★]
- 一人殺したい奴がいる
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
- コーンポタージュに食パン浸して食うのうますぎwwwwwwwwwwwwwwwwwwwwww
- 残クレタワマン、始まるwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 結婚したい女性声優
