[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/10 14:57 / Filesize : 234 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part126



1 名前:デフォルトの名無しさん mailto:sage [2016/08/13(土) 11:24:45.65 ID:NPYsKJkE.net]
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part125
echo.2ch.net/test/read.cgi/tech/1463761261/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
echo.2ch.net/test/read.cgi/tech/1469177649/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

304 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 08:44:04.42 ID:7t+U5xjY.net]
そもそもsetterとgetterが必要なのかって話でしょ

305 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 08:45:24.36 ID:ZAvvKiiS.net]
手間はさほど変わらんと思うけどあとで読んだ時に他のメッセージ転送に埋もれない気はする

306 名前:デフォルトの名無しさん [2016/09/01(木) 08:51:59.38 ID:8Xtys+zE.net]
>>300
ああ、なるほどね。
意味論として、OOのメッセージとプロパティが、C#のメソッドとプロパティに相当するのか。
言われてみれば当然かも。
あざっす。

307 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 09:01:16.42 ID:DsNIQM1p.net]
超便利と書くからワケがわからなくなる
いちいちGetなんちゃらSetなんちゃらと書くよりも既読性が上がる

308 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 09:39:25.12 ID:DsNIQM1p.net]
既読性って何だ?w
可読性だったわw

309 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 09:52:32.53 ID:oseS/uHr.net]
引数0の関数は括弧省略できればいいんじゃないのか

310 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 10:08:05.72 ID:d6w4LGKM.net]
「超便利」が分かって貰えないとか
ほんとにC#のプロパティ使ったことあるんですかねえ(笑)

311 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 11:42:15.33 ID:n+lE1LxE.net]
使えば超便利、だがあまり使わない、って両立するけどな。

312 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 11:57:18.01 ID:f8G6zOLb.net]
listenerに出来るなら便利だけど、単なるsetter,getterじゃなあ

全部メソッドの方が統一感はあると思う。



313 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 12:08:36.30 ID:n+lE1LxE.net]
getter/setter(プロパティに相当するものを含む)を持つクラスと持たないクラスの比率ってどんなもん?
俺は1対5ぐらいだ。
だからあれば便利というのはわかる。

314 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 12:30:21.99 ID:LcnNSect.net]
>>296
手間は結構変わるよ。
まず、getter/setterを普通に定義するのより、
プロパティの方がコード量が単純に減る。
変数名と関数名の一致だとかも考慮しなくていいから、
保守もしやすい。

その上、利用時にはpublicメンバ変数のように使えるから、
呼び出し先のコードもすっきりする。

必須ではないから不要と思うなら使わなければいいけど。
便利機能ってだけだし。

315 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 12:31:26.62 ID:LcnNSect.net]
>>304
それはVBAとかそうだけど、ややこしいからやめてくれw

316 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 12:46:32.26 ID:d6w4LGKM.net]
>>298
単純な話こういうことを言ってるんだけど。。。

JavaやC++の場合
private int x;
public getX(){return x;}
public setX(int val) {x=val;}

C#の場合
public int X {get; set;}

手間は1/3以下になってる
ほんとに使ったことあるの?

317 名前:デフォルトの名無しさん [2016/09/01(木) 13:12:08.94 ID:+q6YP6fM.net]
あんなのが欲しい、こんなのが欲しいと、
みんな口々に勝手なこと言うのを
あれもこれもと言語に取り込む
ということをするかしないかというポリシーは
言語が違えば違って当たり前

C#でどうだからC++もどうせよとか
C#でどうだからJavaはゴミとか
そんなにC#が好きならC#だけ使ってればいい

318 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 13:23:01.35 ID:d6w4LGKM.net]
うるせー(笑)なんだかんだ言っても一番好きなのはC++だよ
高速性が求められる場面ではほぼ唯一の選択肢だし
他の言語に比べて不便なところがあったとしても、かゆいところに手が届く感は最強だし

319 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 13:37:36.32 ID:Zz5UEunk.net]
public変数とgetter/setter付きのprivate変数って何が違うの?

320 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 13:52:30.49 ID:d6w4LGKM.net]
>>314
get/set時にコードが介入できる

321 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 14:51:04.12 ID:nGqVI4Wr.net]
public変数なんか使ったら、まともにプログラミング出来ない。
これは、あり得ない選択

変数は出来るだけ、狭いスコープに閉じ込めるのが基本

322 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 14:52:33.38 ID:3wSPfZnR.net]
>>314
昔見た理屈だと、ゲッターセッターは間に正規化とか突っ込めるからセーフティなんだと。



323 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 15:42:38.63 ID:n+lE1LxE.net]
>>316
上段も下段もそれぞれ正しい

324 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 16:38:25.17 ID:f8G6zOLb.net]
>>314
c++の場合、表記が違うので入れ替えが大変。

325 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 16:52:35.75 ID:oseS/uHr.net]
直接変数に対して入出力してるだけのセッターゲッターでも将来を見越してわざわざ作ってるってことか?

326 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 17:03:57.26 ID:d6w4LGKM.net]
>>320
そういう場合も多いかもしれないけど、.Net環境においてはpublicプロパティにすることによる恩恵は多々ある
例えばDataGridViewに内容を表示するときなど

327 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 18:10:45.91 ID:3cPIMSrP.net]
>>314
public変数じゃ、変更されたタイミングで描画をアップデートするみたいな処理がやりにくくなる
needUpdateViewみたいなフラグをtrueにできるだけでも、getter/setterはあったほうがいい

単なる構造体に近いようなクラスでも、データの不整合を起こさないようにバリデーションが行えるという意味では重要
後から値の範囲を制限したくなるとか、複数の変数間で整合性のとれないケースを排除したくなるということはよくある
例えば、Personクラスが初めは性別と名前しかなかったところを、そこに「父」「母」「息子」「娘」みたいな属性を付けたくなったら、性別女で「父」は弾きたくなる
public変数だったらこれはできないけど、setter経由であればできる
「親」「子」にして性別と合わせて計算すればいいとかいう話があるかもしれんが、余談だがその場合はgetterで男女+親子の属性で「父」とかを取り出すことができるね

328 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 18:27:41.58 ID:zfFV4MMV.net]
getterやsetterの関数呼び出しならまだしも、propertyでファイルアクセスやらネットワークのやら時間かかる処理入れられると嫌な感じ

329 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 18:41:33.44 ID:L3a4bYLC.net]
>>323
それは利用者の予期を裏切るような実装をするなって話であって、
ゲッタセッターならよくてプロパティーではだめだって話じゃないと思うけど

330 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 19:29:54.38 ID:quvSlm2c.net]
>>312
C++も11以降がんがん新しい要素取り入れてるんだから、
今の仕様が絶対的なものじゃないぞ。今の仕様を絶対視するのは宗教だ。

331 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 19:36:30.23 ID:qC9ojyjS.net]
>>322
同性婚の夫婦が養子をとった時に破綻する先見性のない設計ですね w

332 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 19:46:48.63 ID:zfFV4MMV.net]
メンバ変数ぽく使えるより、指示すればgetter,setterを自動生成してくれる方がいいな。

参照とって書き換える関数に渡したらどうなるんだとか考えると、変数っぽく使えるのは混乱招くだけのような。



333 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 20:02:06.91 ID:f8G6zOLb.net]
>>326
不要な汎用化じゃね?
必要になってから修正でいいだろ。

334 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 20:16:20.03 ID:qC9ojyjS.net]
>>328
ネタに突っ込むならもう少し面白いやつ頼むわ

335 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 20:31:55.38 ID:n+lE1LxE.net]
setter/gettrrが要る要らないの話題になるとpublic変数の話題に転びがちだな。
ちょっともにょもにょする。

336 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 20:40:39.28 ID:n+lE1LxE.net]
外部から属性を設定せざるを得ない状況がけっこうあって、なかなかリファクタリングも難しいってことか。

337 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 21:41:16.10 ID:quvSlm2c.net]
>>327
C++でプロパティ導入するなら、getterの戻り値は参照かconst参照のどちらかに制限すれば、
その辺の問題は解決しそう。

338 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 23:31:36.63 ID:kyBhPm5k.net]
そういや、パッと見は普通のフィールド(メンバ変数)なせいで
実行速度とか気にせずに気楽に使ってしまいやすい、なんて弊害も多少あるみたいね。

339 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 23:49:26.27 ID:VuYRfyfh.net]
てかgetter/setterでもプロパティカプセル化が弱くなるから原則使わないのが基本だろ
フラグをプロパティ化してどうのこうのとか言ってるやついたけど、参照透過性なくなって状態遷移図保守の雇用を産みだしてるだけ

340 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 23:55:31.16 ID:quvSlm2c.net]
それはおかしいだろ。メンバ変数を外から操作する必要性は普通にある。
例えばWindowクラスとかどうすんの。メンバ変数変えられないWindowクラスとか欠陥品でしょ。

341 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 23:55:52.32 ID:oRYPM1bK.net]
>>334
言いたいことはわかるが、 外からの属性アクセスをやめたとしても、
実際に内部状態が変化するなら参照透過ではないよな?

342 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 23:58:42.81 ID:VuYRfyfh.net]
>>335
お前がWindowクラスを書くのは自由だけど、C++なんだから数値計算ライブラリとかを想定して書けよ

>>336
もちろん



343 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 00:04:47.23 ID:q6GNZ6RD.net]
>>337
否定されてから急に話題を限定し出すってのは一番見苦しいパターンだぞw
素直に間違いを認めろよ。数値解析だっていくらでもそういう事例あるだろ。

344 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 00:23:31.33 ID:dxT5btnL.net]
あるかないかで言えばもちろんあるけど、外部主導の状態コントロールは避けたいので、
設計に時間をかけられるときはhetter/setterは減るだろう、ってだけ。

345 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 00:25:04.39 ID:dxT5btnL.net]
X hetter
〇 getter

346 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 00:32:46.64 ID:wMSGanuZ.net]
C++はプロパティないのでコード書くときは短く済ませたいんで
ゲッターはSize()、
セッターをSetSize()にして
Get省略してる

347 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 00:50:46.08 ID:VaOayOrf.net]
>>341
自分はSetも省略する
たまに引数の関係でできない時もあるけどさ

348 名前:デフォルトの名無しさん [2016/09/02(金) 04:12:21.27 ID:+CUdjKtm.net]
俺はオーバーロードになると関数ポインタとるのが面倒になるからsetぐらいは省略しないな

349 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 04:38:51.30 ID:17n5VyUh.net]
メンバ関数ポインタってほとんど使わないから気にしたことなかった…

350 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 06:31:01.77 ID:96M6CE+e.net]
>>342
ああ、引数の違いを利用すればsetもgetも省略できるのか。

int value(int val); ... メンバvalueの値の設定
int value(); ... メンバvalueの値の参照

同じ関数名で機能の異なるものを作るのは危険、
ということから思いつきもしなかったけど、
この使い方なら便利で有用かも知れないな。

351 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 07:16:35.65 ID:Vf4h0u1D.net]
>>345
> int value(int val); ... メンバvalueの値の設定
なぜに戻り値?

352 名前:345 mailto:sage [2016/09/02(金) 07:33:47.21 ID:96M6CE+e.net]
>>346
値の範囲制限とかする場合に、
戻り値に「実際に格納された値」を入れて返す。

あと瑣末なことだけど、
cout << a.value(val) << endl;
みたいに格納しつつ値も使う、ができてちょい便利。



353 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 07:35:34.05 ID:MC2dvnuP.net]
そう言うの、以前の値を返すのも多いから紛らわしいな。

354 名前:デフォルトの名無しさん [2016/09/02(金) 07:36:05.31 ID:sd/G3GoC.net]
std::exchange的な〜?

355 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 07:49:11.95 ID:Vf4h0u1D.net]
>>347
> 戻り値に「実際に格納された値」を入れて返す。

こっちはまだわからなくもないが

> 格納しつつ値も使う、ができてちょい便利。

みたいな設計はどうかと思う

356 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 08:01:45.25 ID:/uIui9G6.net]
そうだな
(a = b) = c;
みたいな20世紀の設計思想だな

357 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 08:01:48.98 ID:5Aji0+2+.net]
*this

358 名前:を返してしまう []
[ここ壊れてます]

359 名前: ◆SEdFBOkLSw mailto:sage [2016/09/02(金) 08:29:24.90 ID:Nu/77N8P.net]
>>352
メソッドチェーン出来て便利だよね。

360 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 08:44:56.31 ID:OksuLk+6.net]
演算子のオーバーロードみたいな使い方のポリシーでは
a.val(b.val() + c.val()) みたいなやつ

というかどうしてもプロパティが欲しけりゃ演算子オーバーロードで真似っこできるじゃん

361 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 08:48:54.95 ID:xzsbRhmn.net]
は? 演算子オーバーロードでどうやってプロパティの代用すんだよw
プロパティ分かってない奴か? コードを示して見ろ。

362 名前:デフォルトの名無しさん [2016/09/02(金) 09:12:04.14 ID:+CUdjKtm.net]
ideone.com/rZ2S2m
こんな感じか?



363 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 09:14:47.55 ID:OksuLk+6.net]
>>355
ググれば普通に出るが?
なんでそんなに必死なの
boost.2283326.n4.nabble.com/the-best-possible-c-properties-implementation-tt2626498.html

364 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 09:20:57.20 ID:OksuLk+6.net]
>>356
そうね、そういう感じ

365 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 10:36:49.94 ID:AFnhG1K/.net]
それじゃ仮想関数にできないじゃん。やり直し。
無理やりオーバーライドできるようにしなくていいよ。
既にコードも必要以上に複雑化しててgetter/setterの方がマシなレベルだし。

366 名前:デフォルトの名無しさん [2016/09/02(金) 12:07:39.19 ID:+CUdjKtm.net]
>>359
NVIって知ってる?

367 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 12:09:10.62 ID:rUpx5Cs1.net]
結局、プロパティは要らんわな。

タイプ量の問題ならマクロで解決出来るし。

368 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 12:26:51.71 ID:6Qab/oE8.net]
これからのC++にプロパティーは必須だな。
これからもどんどん新しい機能を取り入れてどんどん
わけがわからなくなるといい。

369 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 12:41:00.31 ID:1fpVQ5H8.net]
マクロは入力補完できないし衝突の可能性がある

370 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 12:49:08.18 ID:6Qab/oE8.net]
C++はマクロで出来ることをどんどん機能として取り込んで来たのに
いまさら後戻りはできない。

371 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 18:00:48.43 ID:96M6CE+e.net]
C#の「プロパティ」って機能がどんなのか知らないけど、
現在C++にないから不要な機能だ、と突っ張るのは危険かも知れないよ。

いつか「次の規格から『C#のプロパティ』と同様の機能が追加」と
発表されるかもしれない。これまでもそうやって肥大化してるじゃない。

372 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 18:28:49.74 ID:qjeLwgBZ.net]
Javaでもそうだけどgetter/setterは言語的には単なるメソッドでしかないが
C#のプロパティは言語的にメソッドとは違うものとして認識出来るようになっている
そこから様々な便利さが出てきている



373 名前:デフォルトの名無しさん [2016/09/02(金) 19:27:06.33 ID:nL/2u0CX.net]
>>364
マクロで出来ることではなく、
マクロに頼っていたことを、
マクロを使わずに出来るようにしてきたんだよ。

スコープに従わないオブジェクト指向の敵との戦いだ

374 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 19:37:33.13 ID:XrGCfAOV.net]
C++のテンプレートってポストプロセッサといっていいよね。
マクロみたいなもん。

375 名前:デフォルトの名無しさん [2016/09/02(金) 20:24:08.55 ID:8Rlh5aGL.net]
↓テンプレートとマクロは全く違うもの

376 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:41:05.83 ID:Wj/juS31.net]
ソースコードの書き換えという点では同じ。

377 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:49:32.19 ID:W5XwdQxs.net]
テンプレートはテキスト置換じゃないよ。
あれはコンパイルタイムに計算してるんだよ。

378 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:49:47.52 ID:1fpVQ5H8.net]
テンプレートが単なる置き換えだと思ってるのか

379 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:50:16.78 ID:BGbCtBYN.net]
マクロの親玉だ

380 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:52:42.81 ID:W5XwdQxs.net]
テンプレートもconstexprもある種の計算機のサブセットだからなぁ。

381 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 22:57:15.93 ID:Q3H4IaZb.net]
コンパイル時に計算できることなんてたかが知れてるし、使い道ないんだよな

382 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 22:59:57.14 ID:3Xz3H/8a.net]
いやいや…型チェックとかのなくすべき実行時オーバーヘッドがなくせるってだけで意味大有りだろ



383 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:04:13.81 ID:W5XwdQxs.net]
PURE関数が入ったら、constexprなんかは関数がハッシュに置き換わってそこから値置換になるかも。
コードを全部どけて数字一個になる日も近い。

384 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:12:20.33 ID:1fpVQ5H8.net]
まともにC++使ってて使い道無いとかどうやったらそう解釈できるんだ

385 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:30:26.24 ID:Q3H4IaZb.net]
コンパイル時に決まってるなら計算する必要ないじゃん

386 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:32:54.48 ID:1fpVQ5H8.net]
手動で計算してくれ

387 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:35:19.44 ID:W5XwdQxs.net]
そしてたどり着くのだ。42に。

388 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 00:45:41.77 ID:WTZrMZ5J.net]
テンプレートなしだとマクロとvoid*でやりくりすることになるのかな
<algorithm>の中身がおそろしいことになりそう

389 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 02:05:00.69 ID:VnUB3qPQ.net]
>>381
43ですが

390 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 02:08:56.14 ID:VnUB3qPQ.net]
templateなんてデブなブタに過ぎんからな

391 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 02:12:17.57 ID:qWYFFL/S.net]
>>383
なんすかそれ。

392 名前:デフォルトの名無しさん [2016/09/03(土) 07:03:39.80 ID:ZkDRxv2v.net]
>>375
最適化を否定するのか?



393 名前:デフォルトの名無しさん [2016/09/03(土) 07:04:51.23 ID:ZkDRxv2v.net]
>>382
bsearchみたいにな

394 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 09:55:01.98 ID:MIqeGybs.net]
templateなんて実際に使えるレベルものを書ける人なんてほとんどいないだろ
使うことはあっても、書くことはないだろ

395 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 10:03:25.99 ID:2vnq4BB3.net]
ライブラリを作っていれば嫌でも使うが

396 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 11:15:11.07 ID:NvcWw3DB.net]
>>388
キミの周りではそうかもしれないけど、templateみたいな便利なものを使えないようじゃ現代のプログラマとしては失格だと思います
てかテンプレートってそんなに難しいか?

397 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 11:47:23.77 ID:KpYZ86nt.net]
標準コンテナくらいバカでも使える。
それだけでテンプレートのメリットは十分に享受できる。

398 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 11:48:35.81 ID:2vnq4BB3.net]
boost並みの実装ができないと書けていることにならないらしい

399 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 12:11:48.21 ID:NXr2sGOM.net]
>>388
汎用性があって他人も実際に使えるレベルとなると難しいかもしれんが、自分が使う範囲内では普通に書くだろう。
はじめからtemplateを書くんじゃなくて自分用のユーティリティとかをtemplate化することも含めればけっこうある。

400 名前:デフォルトの名無しさん [2016/09/03(土) 12:23:53.61 ID:ZkDRxv2v.net]
>>390
ほんこれ

401 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 12:35:37.51 ID:UwaIhkeW.net]
くだらねえな
もっと為になる話をしろやカス

402 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 12:54:22.03 ID:e++gk4lZ.net]
Boost並に使いこなせるか?って聞かれたら
謝るしか無いわ、ホントごめん



403 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 12:56:30.19 ID:2vnq4BB3.net]
為になる本ならたくさんある

404 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 13:22:16.46 ID:xlYZjvy0.net]
メソッドA->B->C->D->Eと呼ばれる階層が深い構造のシステムがあって、
Eの計算結果をAで取りたい要望が新しくでてきたときってみんなならどう実装する?

条件としては、
・AはwhileループでBを呼び出し続ける
・Eの最新の計算結果はループで毎回使う
・CがDをnewしてるから、単純なgetterとかじゃ取れない

1. 引数が増えるのは仕方ないが、A~Eに全て引数を追加する
2. Eでstaticなグローバル変数を作る。Aからはgetterで取得する

一応思いつくのはこのあたりなんだけど、もっとスマートなやり方ってあるかな?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<234KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef