16/08/26 02:40:37.07 mRE0T9bN.net
多分、>>152みて職場で無関係な奴に当たり散らすんだぜ。
盲目って怖い。
160:デフォルトの名無しさん
16/08/26 06:15:21.48 9s6WK35L.net
>>129
そんなこと言うお前はもちろん
メンバー初期化の順番が何によって決まるのかを
調べずに言えるんだろうな?
161:デフォルトの名無しさん
16/08/26 06:18:57.25 zQpNEvET.net
age
162:デフォルトの名無しさん
16/08/26 08:41:47.22 G0uj5hQB.net
>>156
あたかも自分は知ってるって感じのものの言い方だなw
163:デフォルトの名無しさん
16/08/26 08:51:08.73 Xz0onrQ7.net
クイズ好きだね
164:デフォルトの名無しさん
16/08/26 08:52:16.33 zYo2bKWf.net
まあゴテゴテに凝ったフレームを使うより単純な自分実装のが
良いこともあるわな。
釘打つのに巨大ハンマーは必要ないってこともある。
165:デフォルトの名無しさん
16/08/26 09:42:17.11 3Yp6hByU.net
std::使っておけばドキュメンテーション楽じゃん、とは思わないのかね?
166:デフォルトの名無しさん
16/08/26 09:44:55.75 ZYJ50bjn.net
標準ライブラリは巨大ハンマーと言うよりは、ネジとか家庭用電源差込口とかに近い、まさに規格化された共通部品じゃないかと思うんだけどな。
167:デフォルトの名無しさん
16/08/26 09:54:56.48 +34Dv1b8.net
自分実装のはずなのに、半年1年後
「誰だよこれやったのは?」って言いたくなる
168:デフォルトの名無しさん
16/08/26 09:57:17.75 G0uj5hQB.net
速いならいいがな
遅いのにあえてSTLを使う理由がわからん
169:デフォルトの名無しさん
16/08/26 09:58:29.62 3eEs1ucA.net
iostreamみたいなウンコ大作がネジとか何の冗談
170:デフォルトの名無しさん
16/08/26 10:00:15.98 3eEs1ucA.net
ああ、screwedにかけたのかw
171:デフォルトの名無しさん
16/08/26 10:01:25.74 3Yp6hByU.net
速いのがいいならsproutでも使えば
172:デフォルトの名無しさん
16/08/26 10:11:56.38 ZYJ50bjn.net
別に標準ライブラリと同じインタフェースにしといてくれれば、あとは勝手にしてくれていいんやで。
173:デフォルトの名無しさん
16/08/26 10:14:12.77 ZYJ50bjn.net
あと、標準ライブラリといったらiostremって発想もどうかと思う。
まあ、一番叩きやすいってのは確かだし、俺自身も使ってるないから擁護もできないのだけれども。
174:デフォルトの名無しさん
16/08/26 10:16:18.07 ZYJ50bjn.net
iostreamは確かに使いにくい。
あれならprintf使うのも仕方ない…
175:デフォルトの名無しさん
16/08/26 10:22:03.58 JmjWOqaY.net
printf > boost::format >>>>>>超えられない壁>>>>>> iostream
176:デフォルトの名無しさん
16/08/26 11:08:04.55 R92D0kaL.net
なぜいつまでたってもフォーマットを指定してstd::stringにするライブラリが標準入りしないのか
177:デフォルトの名無しさん
16/08/26 11:12:41.32 mRE0T9bN.net
putfって止まってるの?
178:デフォルトの名無しさん
16/08/26 12:40:42.69 3eEs1ucA.net
>>172
モウロクしたハゲがiostreamを否定されて屈辱的だとかスネちゃうからだろ
179:デフォルトの名無しさん
16/08/26 12:59:54.61 3Yp6hByU.net
>>174
「侮辱的だ」と繰り返すばかり
180:デフォルトの名無しさん
16/08/26 13:16:58.62 R92D0kaL.net
streamの何も考えずガンガン流し込めばいいというスタイルは悪くないと思う
ただ特に標準出力に関してはデータを整形したいケースが多いから噛み合ってない
181:デフォルトの名無しさん
16/08/26 13:22:39.50 FOeYYSc0.net
何も考えず?
iostreamってstd::size_tを流し込めること保証されてたっけ
182:デフォルトの名無しさん
16/08/26 13:28:03.42 XS8ZF2FO.net
std::cout << std::hex << std::setw(2) << std::setfill('0') << int('A');
printf("%02x", 'A');
183:デフォルトの名無しさん
16/08/26 18:00:13.51 ZiaxvSyE.net
URLリンク(t.co)
これわかる人いる?
deleteしたポインタにnullいれてないとおもったんだけど、それではないらしい…
184:デフォルトの名無しさん
16/08/26 18:10:38.59 PiJ4eTCv.net
ヌルポチェックの外でメンバ関数呼び出している。
185:デフォルトの名無しさん
16/08/26 18:21:32.60 RLEpnGOr.net
>>179
こんな超絶クソコード作る奴の頭がそもそも虫湧いてるので答えなんてないと思うよ
なんだよnewと対になっていないdeleteとか、しかもdeleteの前に無意味なnullチェックしてるし
186:デフォルトの名無しさん
16/08/26 18:23:08.82 RLEpnGOr.net
前提条件が曖昧すぎて問題にすらなっていない
マルチスレッド環境なら話にならないコードだし
187:デフォルトの名無しさん
16/08/26 18:26:56.70 3Yp6hByU.net
for (auto charactor はfor (auto& charactor でなくていいんだろうか?
188:デフォルトの名無しさん
16/08/26 18:35:20.55 RLEpnGOr.net
ViewPortのコンストラクタにnullptrが渡される可能性があるなら
ViewPort::Updateは何もする必要がないのであって、Updateの冒頭でnullチェックしてreturnすればいいだろ
とにかく問題作った奴が馬鹿丸出し過ぎてイライラする
189:デフォルトの名無しさん
16/08/26 18:36:33.86 ZiaxvSyE.net
色々思いつくけど >>180 が当たりっぽい
腑に落ちないw
190:デフォルトの名無しさん
16/08/26 18:52:19.14 wMnlcyg3.net
rule of three(five)を無視しといてバグとか語るなって感じだが
>>182のいうように想定してる不具合実演のサンプルコードなのか実用コードの一部なのかすら
わからんのではどうにもなあ
191:デフォルトの名無しさん
16/08/26 20:37:16.13 dDBcLzC2.net
>>178
これなw
いいかげん、正式な「1byte幅の整数型」が欲しいね。
192:デフォルトの名無しさん
16/08/26 20:45:01.75 Xz0onrQ7.net
参考にしたいからお前らの頭の良い実装を見せてくれ
これくらいなら数分で書き直せるだろ
193:デフォルトの名無しさん
16/08/26 23:13:22.52 mRE0T9bN.net
>>179
描画完了通知がNullチェックしてない??
>>187
現在策定中。
194:デフォルトの名無しさん
16/08/27 08:43:16.25 SmFG8gRK.net
ク ク || プ //
ス ク ス | | │ //
/ ス | | ッ // ク ク ||. プ //
/ // ス ク ス _ | | │ //
/ ̄ ̄\ / ス ─ | | ッ //
/ _ノ .\ / //
| ( >)(<) ___
. | ⌒(__人__) ./ ⌒ ⌒\
| ` Y⌒l / (>) (<)\
. | . 人__ ヽ / ::::::⌒(__人__)⌒ \
ヽ }| | | ` Y⌒ l__ |
ヽ ノ、| | \ 人_ ヽ /
. /^l / / ,─l ヽ \
195:デフォルトの名無しさん
16/08/27 12:49:21.98 06SnK2FS.net
>>179
デストラクタでわざわざnull代入するかどうかよりdelete前にnullチェックしていることをつっこもうぜ
196:デフォルトの名無しさん
16/08/27 13:15:37.85 s3YfawhT.net
nullptrだったら描画開始しちゃダメなんじゃないの?
197:デフォルトの名無しさん
16/08/27 21:26:23.95 mslVqKaF.net
null をdelete しても無視されるから無駄って事かな
198:デフォルトの名無しさん
16/08/27 22:04:43.54 sEFObQol.net
>>189
ソースは?
199:デフォルトの名無しさん
16/08/27 22:19:45.68 nxWT+PHC.net
あってもなくても動作に影響しないものがあってもそこはバグとはいわないだろう
200:デフォルトの名無しさん
16/08/27 22:42:36.92 OFUg9SIZ.net
バグとは言われないがゴミコードとは言われるだろう。
201:デフォルトの名無しさん
16/08/28 01:03:52.09 IZ16EciY.net
>>194
URLリンク(cpplover.blogspot.jp)
上経由で知ったが、
URLリンク(www.open-std.org)
これだと思う。
202:デフォルトの名無しさん
16/08/28 01:09:59.02 3Myecdh+.net
delete前のnullptrチェックなあ
assertならわかるんだけどね
203:デフォルトの名無しさん
16/08/28 01:19:06.19 jX9FVgVh.net
お前らが理想のコードに書き直してくれるのを待ってるんだが
204:デフォルトの名無しさん
16/08/28 01:37:02.68 qNvxLYrv.net
お前らが知ったかぶりばかりなのが分かった。
別にdelete前にnullチェックするのは悪いことではないし、
newと対になってないdeleteとかも指摘としては噴飯もの。
まああえて言えばdelete後にnull代入しておくべきだが。
問題はforeachでautoになってるところだろ。
これだとvector内の要素ではなく、そのコピーに対して操作してることになる。
明らかに意図していない動作だろう。
205:デフォルトの名無しさん
16/08/28 01:39:40.85 IZ16EciY.net
バグは1つではない説。
206:デフォルトの名無しさん
16/08/28 01:39:43.61 60yVMOKI.net
>そのコピーに対して操作してることになる。
あの超絶クソコードの中では一番どうでもいい点だな
207:デフォルトの名無しさん
16/08/28 01:41:06.73 qNvxLYrv.net
他のはバグの温床にはなりえても、あのコードだけではバグとは言えない。
お前ら学校のテストの問題とかでもケチつけてたタイプだろ?w
208:デフォルトの名無しさん
16/08/28 01:45:52.06 7bU6M/B0.net
>>200
デストラクタ内でのdelete後にnullptrいれるのって何かメリットあるの?
通常の関数なら二重delete防止のためというのは分かるんだけど
デストラクタは複数回呼ばれないよね?
209:デフォルトの名無しさん
16/08/28 01:50:09.68 qNvxLYrv.net
>>204
デストラクタ以外のどこか別の場所でdeleteされる可能性があるからだろう。
viewObjは外から渡された変数だから、知らないところでdeleteされてる可能性もある。
そのための防止だね。徹底するならデストラクタ内でもちゃんとnull代入しなきゃだめだけど。
210:デフォルトの名無しさん
16/08/28 01:52:56.61 60yVMOKI.net
>>199
甘えてんじゃねーよこのウンコ量産野郎
211:デフォルトの名無しさん
16/08/28 01:53:52.21 7bU6M/B0.net
>>205
なるほど
この問題の場合はそうですね
212:デフォルトの名無しさん
16/08/28 01:54:04.96 60yVMOKI.net
>>205
バカですか?
213:デフォルトの名無しさん
16/08/28 01:54:21.49 lPJVAstL.net
>>205
別の場所でdeleteされてる可能性があるとするなら、null代入があってもなくてもダメでしょ?
何言ってんの?
214:デフォルトの名無しさん
16/08/28 01:55:42.67 60yVMOKI.net
デストラクタ以外のどこか別の場所でdeleteされてたなんてキチガイじみた状況に
nullチェックが役に立つとかどういう頭してんだよ
215:デフォルトの名無しさん
16/08/28 01:55:50.77 qNvxLYrv.net
>>209
ごめん。一定レベル未満の人には回答しないことにする。
そこまでは面倒見切れん。
216:デフォルトの名無しさん
16/08/28 01:56:03.58 Ux2eHzia.net
>>200
描画だけだから状態を変更しない可能性は高いし
vectorにいれてるくらいだからコピーコストは十分に低いんじゃないかと無理矢理
217:デフォルトの名無しさん
16/08/28 02:00:10.83 qNvxLYrv.net
>>212
もちろん値型やstringとかならコピーでも問題はないよ。
でも状態を持った型だってしつこいくらいアピールされてるでしょ。
notifyして状態切り替えてうんぬんの箇所はその根拠となるよう書かれたもの。
問題を読めれば難しくはないはず。
218:デフォルトの名無しさん
16/08/28 02:01:04.63 jX9FVgVh.net
デストラクタで解放することが分かってるのに他の場所で解放するのはクラスの使用者の責任ではないのか
219:デフォルトの名無しさん
16/08/28 02:01:08.18 60yVMOKI.net
こういうバカが次から次に湧いてくるからアプリケーション層ではnewもdeleteも書くなって言ってるの
あの糞コードみたいなnewとdeleteが対になっていないようなのはその設計思想自体がバグであって
論ずる必要などはなく、こういうことやるバカは速やかにプロジェクトから排除するべし
220:デフォルトの名無しさん
16/08/28 02:02:18.11 lPJVAstL.net
>>205
あ、クラス内の別の場所でdeleteを追加した場合にnull代入が要るって話してんのかな?
それだと>204への答えにはなってないし、>179の「問題」はクラス定義が全部見えてるのに、
コード追加でバグる可能性を考え始めたらきりがないでしょ。
コード変更による多重deleteの心配するなら、他の問題への対処も含めてunique_ptrを使えばいい話しだし。
221:デフォルトの名無しさん
16/08/28 02:04:40.29 qNvxLYrv.net
>>216
>>211
222:デフォルトの名無しさん
16/08/28 02:06:59.88 jX9FVgVh.net
ここまで1行も無し
やっぱり口だけか
他のフォーラムじゃあり得ないな
223:デフォルトの名無しさん
16/08/28 02:08:06.28 a4amypBO.net
最初からnullptrで渡されることがあるんじゃないの
nullptrチェックしても別の場所でdeleteされてるかどうかなんか判断出来なくない?
ポインタのポインタ使って他所でdeleteした時にnullptr入れてるならわかるけど
224:デフォルトの名無しさん
16/08/28 02:09:26.72 7bU6M/B0.net
デストラクタ内でdelete&nullptr代入しておけばデストラクタ呼び出し後に
外でdeleteされても大丈夫と理解しました
でも、デストラクタ呼び出しより先に外でdeleteされてnullptrが代入されてない場合はダメですね
225:デフォルトの名無しさん
16/08/28 02:27:55.51 lPJVAstL.net
>>220
大丈夫じゃないから、騙されないで。
226:デフォルトの名無しさん
16/08/28 02:50:59.20 a4amypBO.net
ポインタがコピーされてるから内部と外部じゃ別物だよ
片方にnullptr代入したってもう片方は変わらない
これnewして直でコンストラクタに入れるんかな
それならコピーでもされない限り外部で消されることは無いけど
227:デフォルトの名無しさん
16/08/28 02:56:39.81 jX9FVgVh.net
スマポだって外部でdeleteされることなんか考慮してない
正しい使い方をしない方に全ての責任があるから考慮する必要性がない
228:デフォルトの名無しさん
16/08/28 03:50:58.71 VK4fyJjM.net
まさかポインターのコピーがわかってない奴がいようとは驚きだ
それより例外安全が考慮されていないのが気になって仕方ない
229:デフォルトの名無しさん
16/08/28 03:54:18.30 d5NA/60H.net
また無意味な部分にツッコミを入れてるのか
バグを見つける為の例題なのであって
完全なコードを示してるわけではないってのが理解できないのかな
230:デフォルトの名無しさん
16/08/28 04:21:07.87 hSYh5tBq.net
>>225
簡略化したはずのコードに無意味なnullポインタチェックがあるのはなんでなん?
簡略化する前ですら冗長なのに
231:デフォルトの名無しさん
16/08/28 06:24:16.40 a4amypBO.net
速攻指摘されてるじゃん
232:デフォルトの名無しさん
16/08/28 06:32:42.06 VK4fyJjM.net
>>226
>>225の理屈だと、矛盾以外の不足は「完全なコードじゃないから」になってしまうらしいから
本当は開始・描画・終了の全てにチェックがあったのを一部省略してるだけだろう
233:デフォルトの名無しさん
16/08/28 07:20:04.01 ERRoyT16.net
>>197
論文見たら全てが策定中になっちゃうのかよ
おめでてーな
234:デフォルトの名無しさん
16/08/28 07:40:09.72 hSYh5tBq.net
>>228
デストラクタでdeleteする前にviewObjに対してなにかしてるって事?
もしそうならもっと糞コードやん。
viewObj自身で片付けろよと。
235:デフォルトの名無しさん
16/08/28 07:47:04.27 ERRoyT16.net
ビューポートがビューを破棄するクソ設計にこれ以上突っ込まないでw
236:デフォルトの名無しさん
16/08/28 08:20:20.55 lCXt6uga.net
>>200
>>183
237:デフォルトの名無しさん
16/08/28 21:30:38.37 NaGSjNyA.net
質問
実引数が2個以上必要なコンストラクタをexplicitにする意味ってある?
238:デフォルトの名無しさん
16/08/28 21:34:04.63 NaGSjNyA.net
自己解決しました。
すみません忘れて
239:デフォルトの名無しさん
16/08/30 08:09:06.98 ftymYuoJ.net
ハゲの好きそうなコード
f ( { p1, p2, p3 } ) // explicitだとエラー
240:デフォルトの名無しさん
16/08/30 15:46:08.79 0Xvfpf4x.net
ハゲの嫌いなことは、言語に機能を追加すること。
もともとC with classesとか始めた張本人がハゲなんだけど、
まあ今のC++を見てると気持ちはわかるね。
241:デフォルトの名無しさん
16/08/30 19:30:10.07 0Xvfpf4x.net
ハゲの論理を、ハゲロンという。
1価の陰イオンとなる第17族元素である。
242:デフォルトの名無しさん
16/08/30 23:18:33.93 lqTGpbVF.net
もっと増やせと言いたいところだがこれ以上大きく変えるような機能はあるのか?
C#みたいなプロパティは欲しいけど
243:デフォルトの名無しさん
16/08/30 23:37:14.11 ocxqe0WR.net
そんなんtemplateで書けばいいじゃん
244:デフォルトの名無しさん
16/08/30 23:42:07.71 xMG6EfaL.net
は?テンプレートでC#のようなプロパティどうやって実現するんだ?
245:デフォルトの名無しさん
16/08/31 00:35:52.45 ityOLHmm.net
それっぽいのは出来なくはなさそうだけど
プロパティの簡潔さには程遠いな
246:デフォルトの名無しさん
16/08/31 00:39:34.42 yHeo0PbI.net
C#を知らんやつにも分かるように説明汁
247:デフォルトの名無しさん
16/08/31 01:23:54.91 /ANAyxIk.net
こんな感じか?
きっちり書くと更に手間かかるな
URLリンク(ideone.com)
C#だとこう書ける
URLリンク(ideone.com)
248:デフォルトの名無しさん
16/08/31 01:38:11.88 1fkGDbVO.net
>>240
> は?テンプレートでC#のようなプロパティどうやって実現するんだ?
今年一の名言だなw
249:デフォルトの名無しさん
16/08/31 01:57:19.27 6ukDv4b6.net
>>243
ダッサ
お前C#のプロパティの便利さ全然理解してないね
250:デフォルトの名無しさん
16/08/31 01:59:51.36 j3ifnVdn.net
何が名言なのかさっぱり分からんのだが
こんな書き方で満足する人いるの?
251:デフォルトの名無しさん
16/08/31 02:07:02.38 BDrnIBJY.net
C++のstd::vector<bool>がクソ扱いされていることを
理解している気配は全く無いな
252:デフォルトの名無しさん
16/08/31 02:09:05.10 BDrnIBJY.net
むしろ今年一の名言は>>211
253:デフォルトの名無しさん
16/08/31 02:21:29.37 /ANAyxIk.net
>>245
アスペ
254:デフォルトの名無しさん
16/08/31 02:44:37.65 AgvBQXnk.net
プロパティって最初に採用されたのはVBっていうかCOMだよね確か。
255:デフォルトの名無しさん
16/08/31 09:31:40.10 +TzIiYAW.net
プロパティも欲しいけど簡単に使える部分配列も欲しいな
256:デフォルトの名無しさん
16/08/31 09:57:4
257:3.27 ID:WLaQrr/5.net
258:デフォルトの名無しさん
16/08/31 10:03:12.25 WLaQrr/5.net
こういうコードをC#のプロパティのように
テンプレートで実装する方法を書けっつってるのに、
なんであんなひねくれた例が出てくるんだよw
class employee
{
public:
employee(int id, std::string name);
int GetID();
void SetID(int id);
std::string GetName();
void SetName(std::string name);
private:
int id;
std::string name;
}
259:デフォルトの名無しさん
16/08/31 10:03:54.93 sRpVtXPN.net
ほならね
260:デフォルトの名無しさん
16/08/31 10:14:08.99 WLaQrr/5.net
上のダサい例だとgetterやsetter書くよりコードも複雑化してるじゃねーか。
意味ねーじゃん。
261:デフォルトの名無しさん
16/08/31 10:40:08.79 N4JrJ9XH.net
プロパティやりたいならC++Builder
262:デフォルトの名無しさん
16/08/31 11:12:33.68 utsO37AQ.net
お手本はよ
263:デフォルトの名無しさん
16/08/31 11:18:56.64 N4JrJ9XH.net
こういうコードをC#のプロパティのように
テンプレートで実装する方法を書けっつってるのに、
なんであんなひねくれた例が出てくるんだよw
class employee
{
public:
employee(int id, std::string name);
__property int ID = { read = GetID, write = SetID } ;
__property std::string Name = { read = GetName, write = SetName } ;
private:
int id;
std::string name;
int GetID();
void SetID(int id);
std::string GetName();
void SetName(std::string name);
}
264:デフォルトの名無しさん
16/08/31 11:20:17.85 N4JrJ9XH.net
うわw赤の他人のコメントまでコピペしてしもうたw
class employee
{
public:
employee(int id, std::string name);
__property int ID = { read = GetID, write = SetID } ;
__property std::string Name = { read = GetName, write = SetName } ;
private:
int id;
std::string name;
int GetID();
void SetID(int id);
std::string GetName();
void SetName(std::string name);
}
265:デフォルトの名無しさん
16/08/31 11:40:45.52 utsO37AQ.net
標準で頼む
266:デフォルトの名無しさん
16/08/31 11:53:46.21 N4JrJ9XH.net
標準じゃないけどめっちゃ便利やよ
267:デフォルトの名無しさん
16/08/31 12:18:33.24 XvHw9frf.net
教えてください。
Qt creatorで作成しており、GUIのボタンからwin7の拡大鏡(magnify.exe)を起動したいと思っています。
問題は、shellexecuteやQProcessで実行すると拡大鏡の画面が真っ黒になり適切に使用できません。
キーボードから、winと+のショートカットでで起動すると問題なく起動すると真っ黒になることはないので、これを行いたいです。
そこで、GUIのボタンクリックでキーボードのショートカットを実行するほうほうがあれば教えていただきたいです。
よろしくお願いします
268:デフォルトの名無しさん
16/08/31 13:33:26.19 6ukDv4b6.net
Qtスレに行ってください
スレリンク(tech板)
269:デフォルトの名無しさん
16/08/31 14:02:00.01 XvHw9frf.net
誘導ありがとうございます。
Qt抜きで、c++的には実現できないのでしょうか?
270:デフォルトの名無しさん
16/08/31 14:22:32.78 mqymnS7Z.net
Qt使ったこと無いけど呼び出し時の権限が足りないんじゃないかな
271:デフォルトの名無しさん
16/08/31 14:25:22.52 utsO37AQ.net
とりあえずsystem("magnify");して同じ症状なら別の問題
272:デフォルトの名無しさん
16/08/31 16:18:18.52 f/lfR+US.net
プロパティ標準で書いたらこんな感じ?
getを使う時c#にはない()がいるけど
URLリンク(ideone.com)
273:デフォルトの名無しさん
16/08/31 16:56:40.77 /MnV3wL6.net
リファレンサオブジェクトをpublicデータメンバで持てって?
274:デフォルトの名無しさん
16/08/31 17:50:46.05 WLaQrr/5.net
>>267
合格。絶対にこんなコード書かないけど、
プロパティの要件は一応満たしている。
275:デフォルトの名無しさん
16/08/31 18:02:51.48 N4JrJ9XH.net
vectorとかの配列リファレンサがこんな形だよな
276:デフォルトの名無しさん
16/08/31 18:55:44.77 gRHWeOr5.net
ここを見てるとC++のダメさ加減がよくわかる。
277:デフォルトの名無しさん
16/08/31 19:41:02.78 YUscqvM8.net
不要だからコア言語に追加されなかったんだろう
278:デフォルトの名無しさん
16/08/31 20:06:57.16 XvHw9frf.net
>>266のアドバイスで、使い方が間違っていなさそうだったので、違う拡大鏡ソフトを使用することで解決しました
279:デフォルトの名無しさん
16/08/31 20:41:02.91 +TzIiYAW.net
プロパティ不要とか苦行かよ
280:デフォルトの名無しさん
16/08/31 20:43:28.45 YUscqvM8.net
プロパティなんてあってもたいして使わない予感
281:デフォルトの名無しさん
16/08/31 20:54:10.62 /MnV3wL6.net
実感じゃねえのかよ
282:デフォルトの名無しさん
16/08/31 20:57:52.91 ntcwlW+6.net
プロパティ否定してる奴はエアプだってはっきりわかんだね
283:デフォルトの名無しさん
16/08/31 21:00:08.58 NSLbELcw.net
クラス書かないからわかんない。テヘペロ。
284:デフォルトの名無しさん
16/08/31 21:32:42.17 viOT3sew.net
Visual Studioだったら「共通言語ランタイム サポート」を有効にすればプロパティ使えるで(ゲス顔
285:デフォルトの名無しさん
16/08/31 21:48:33.01 MERKTov5.net
C++/CLIは別言語
286:デフォルトの名無しさん
16/08/31 21:59:28.02 /ANAyxIk.net
アクセス制限もいらないからな
余計なことして何が起こっても全て使用者の責任
287:デフォルトの名無しさん
16/08/31 22:34:19.56 xAEFTakh.net
全部グローバル変数にすると便利だよ
288:デフォルトの名無しさん
16/08/31 22:57:22.63 YUscqvM8.net
プロパティよく使うってひとは要するに属性を個別にコントロールすることが多いって事かね?
289:デフォルトの名無しさん
16/08/31 23:03:00.58 6ukDv4b6.net
>>283
そうかもね。設計が下手なんじゃないかな。
もっとも俺もC#ではプロパティ使いまくるけどね。大概のは{get; private set;}だな。
290:デフォルトの名無しさん
16/08/31 23:06:47.51 gUL/+EZq.net
は? 属性を個別にコントロールするのが設計の良し悪しとどう関係するんだ?
「C++で標準でできないことは出来る必要がないから、
そもそも、やろうとする奴が悪いんだ」みたいな幼稚な思考だったらやめとけよ?
それは宗教だ。
291:デフォルトの名無しさん
16/08/31 23:10:36.99 YUscqvM8.net
>>285
俺は良し悪しは言ってないよ
292:デフォルトの名無しさん
16/08/31 23:23:15.94 YUscqvM8.net
まあ外部に
「このクラスは内部に属性A、属性B、属性Cを持ち、その状態とアクセスを管理します」
みたいな仕様を公開してるクラスだったらプロパティは使いたくなるだろうな。
でもどちらかというとそういうクラスは少ないような気がしたのさ。
293:デフォルトの名無しさん
16/08/31 23:36:37.26 mzwgRQN4.net
そんなほとんど起こらんようなケースについて抽象的な説明されてもよくわからんわ。
294:デフォルトの名無しさん
16/08/31 23:45:12.50 YUscqvM8.net
>>288
何が?
295:デフォルトの名無しさん
16/08/31 23:51:01.09 /MnV3wL6.net
>>287
普通にprivateデータメンバじゃん、それ
296:デフォルトの名無しさん
16/08/31 23:56:32.05 YUscqvM8.net
>>290
いや、それらの属性を持ってること自体を外部に公開してる。
privateメンバだったらそんなことは内部仕様にしか書かないでしょ。
297:デフォルトの名無しさん
16/09/01 00:14:02.16 PJEueDDa.net
簡潔に
「どんな属性を持ってるか自体を隠蔽するのが普通」
って書けばいいじゃん
298:デフォルトの名無しさん
16/09/01 00:31:43.23 8Xtys+zE.net
プロパティって、何が便利なん?
C#はGUI作成程度しか使わない俺的感性だと、setter/getterで十分じゃね?と思うんだが、メリットをトクトクと語ってくれ。
299:デフォルトの名無しさん
16/09/01 04:18:24.20 siIxmZ+U.net
プロパティは
classの実装とインターフェースの分離が容易にします
プログラムの字面の変更なしで
後から小細工ができます
言語仕様に内包されたパッチ機能?w
>>293
十分だと思います
後から改変するとき小細工が出来て便利なのかな?
300:デフォルトの名無しさん
16/09/01 06:05:34.36 quvSlm2c.net
いや、setterとgetterがめんどいからプロパティがあるんでしょw
301:デフォルトの名無しさん
16/09/01 07:26:09.87 8Xtys+zE.net
>>295
手間変わらなくね?
302:デフォルトの名無しさん
16/09/01 07:37:27.71 d6w4LGKM.net
>>296
C#のプロパティは超便利で手間が大きく違う
使ってみれば分かるよ
いまだにこんな便利なものが実装されていないJavaはゴミ
303:デフォルトの名無しさん
16/09/01 08:36:37.64 8Xtys+zE.net
>>297
いや、使った事あるんだけど…
その上でわからないからトクトクとお願いしてる。
304:デフォルトの名無しさん
16/09/01 08:44:04.42 7t+U5xjY.net
そもそもsetterとgetterが必要なのかって話でしょ
305:デフォルトの名無しさん
16/09/01 08:45:24.36 ZAvvKiiS.net
手間はさほど変わらんと思うけどあとで読んだ時に他のメッセージ転送に埋もれない気はする
306:デフォルトの名無しさん
16/09/01 08:51:59.38 8Xtys+zE.net
>>300
ああ、なるほどね。
意味論として、OOのメッセージとプロパティが、C#のメソッドとプロパティに相当するのか。
言われてみれば当然かも。
あざっす。
307:デフォルトの名無しさん
16/09/01 09:01:16.42 DsNIQM1p.net
超便利と書くからワケがわからなくなる
いちいちGetなんちゃらSetなんちゃらと書くよりも既読性が上がる
308:デフォルトの名無しさん
16/09/01 09:39:25.12 DsNIQM1p.net
既読性って何だ?w
可読性だったわw
309:デフォルトの名無しさん
16/09/01 09:52:32.53 oseS/uHr.net
引数0の関数は括弧省略できればいいんじゃないのか
310:デフォルトの名無しさん
16/09/01 10:08:05.72 d6w4LGKM.net
「超便利」が分かって貰えないとか
ほんとにC#のプロパティ使ったことあるんですかねえ(笑)
311:デフォルトの名無しさん
16/09/01 11:42:15.33 n+lE1LxE.net
使えば超便利、だがあまり使わない、って両立するけどな。
312:デフォルトの名無しさん
16/09/01 11:57:18.01 f8G6zOLb.net
listenerに出来るなら便利だけど、単なるsetter,getterじゃなあ
全部メソッドの方が統一感はあると思う。
313:デフォルトの名無しさん
16/09/01 12:08:36.30 n+lE1LxE.net
getter/setter(プロパティに相当するものを含む)を持つクラスと持たないクラスの比率ってどんなもん?
俺は1対5ぐらいだ。
だからあれば便利というのはわかる。
314:デフォルトの名無しさん
16/09/01 12:30:21.99 LcnNSect.net
>>296
手間は結構変わるよ。
まず、getter/setterを普通に定義するのより、
プロパティの方がコード量が単純に減る。
変数名と関数名の一致だとかも考慮しなくていいから、
保守もしやすい。
その上、利用時にはpublicメンバ変数のように使えるから、
呼び出し先のコードもすっきりする。
必須ではないから不要と思うなら使わなければいいけど。
便利機能ってだけだし。
315:デフォルトの名無しさん
16/09/01 12:31:26.62 LcnNSect.net
>>304
それはVBAとかそうだけど、ややこしいからやめてくれw
316:デフォルトの名無しさん
16/09/01 12:46:32.26 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:デフォルトの名無しさん
16/09/01 13:12:08.94 +q6YP6fM.net
あんなのが欲しい、こんなのが欲しいと、
みんな口々に勝手なこと言うのを
あれもこれもと言語に取り込む
ということをするかしないかというポリシーは
言語が違えば違って当たり前
C#でどうだからC++もどうせよとか
C#でどうだからJavaはゴミとか
そんなにC#が好きならC#だけ使ってればいい
318:デフォルトの名無しさん
16/09/01 13:23:01.35 d6w4LGKM.net
うるせー(笑)なんだかんだ言っても一番好きなのはC++だよ
高速性が求められる場面ではほぼ唯一の選択肢だし
他の言語に比べて不便なところがあったとしても、かゆいところに手が届く感は最強だし
319:デフォルトの名無しさん
16/09/01 13:37:36.32 Zz5UEunk.net
public変数とgetter/setter付きのprivate変数って何が違うの?
320:デフォルトの名無しさん
16/09/01 13:52:30.49 d6w4LGKM.net
>>314
get/set時にコードが介入できる
321:デフォルトの名無しさん
16/09/01 14:51:04.12 nGqVI4Wr.net
public変数なんか使ったら、まともにプログラミング出来ない。
これは、あり得ない選択
変数は出来るだけ、狭いスコープに閉じ込めるのが基本
322:デフォルトの名無しさん
16/09/01 14:52:33.38 3wSPfZnR.net
>>314
昔見た理屈だと、ゲッターセッターは間に正規化とか突っ込めるからセーフティなんだと。
323:デフォルトの名無しさん
16/09/01 15:42:38.63 n+lE1LxE.net
>>316
上段も下段もそれぞれ正しい
324:デフォルトの名無しさん
16/09/01 16:38:25.17 f8G6zOLb.net
>>314
c++の場合、表記が違うので入れ替えが大変。
325:デフォルトの名無しさん
16/09/01 16:52:35.75 oseS/uHr.net
直接変数に対して入出力してるだけのセッターゲッターでも将来を見越してわざわざ作ってるってことか?
326:デフォルトの名無しさん
16/09/01 17:03:57.26 d6w4LGKM.net
>>320
そういう場合も多いかもしれないけど、.Net環境においてはpublicプロパティにすることによる恩恵は多々ある
例えばDataGridViewに内容を表示するときなど
327:デフォルトの名無しさん
16/09/01 18:10:45.91 3cPIMSrP.net
>>314
public変数じゃ、変更されたタイミングで描画をアップデートするみたいな処理がやりにくくなる
needUpdateViewみたいなフラグをtrueにできるだけでも、getter/setterはあったほうがいい
単なる構造体に近いようなクラスでも、データの不整合を起こさないようにバリデーションが行えるという意味では重要
後から値の範囲を制限したくなるとか、複数の変数間で整合性のとれないケースを排除したくなるということはよくある
例えば、Personクラスが初めは性別と名前しかなかったところを、そこに「父」「母」「息子」「娘」みたいな属性を付けたくなったら、性別女で「父」は弾きたくなる
public変数だったらこれはできないけど、setter経由であればできる
「親」「子」にして性別と合わせて計算すればいいとかいう話があるかもしれんが、余談だがその場合はgetterで男女+親子の属性で「父」とかを取り出すことができるね
328:デフォルトの名無しさん
16/09/01 18:27:41.58 zfFV4MMV.net
getterやsetterの関数呼び出しならまだしも、propertyでファイルアクセスやらネットワークのやら時間かかる処理入れられると嫌な感じ
329:デフォルトの名無しさん
16/09/01 18:41:33.44 L3a4bYLC.net
>>323
それは利用者の予期を裏切るような実装をするなって話であって、
ゲッタセッターならよくてプロパティーではだめだって話じゃないと思うけど
330:デフォルトの名無しさん
16/09/01 19:29:54.38 quvSlm2c.net
>>312
C++も11以降がんがん新しい要素取り入れてるんだから、
今の仕様が絶対的なものじゃないぞ。今の仕様を絶対視するのは宗教だ。
331:デフォルトの名無しさん
16/09/01 19:36:30.23 qC9ojyjS.net
>>322
同性婚の夫婦が養子をとった時に破綻する先見性のない設計ですね w
332:デフォルトの名無しさん
16/09/01 19:46:48.63 zfFV4MMV.net
メンバ変数ぽく使えるより、指示すればgetter,setterを自動生成してくれる方がいいな。
参照とって書き換える関数に渡したらどうなるんだとか考えると、変数っぽく使えるのは混乱招くだけのような。
333:デフォルトの名無しさん
16/09/01 20:02:06.91 f8G6zOLb.net
>>326
不要な汎用化じゃね?
必要になってから修正でいいだろ。
334:デフォルトの名無しさん
16/09/01 20:16:20.03 qC9ojyjS.net
>>328
ネタに突っ込むならもう少し面白いやつ頼むわ
335:デフォルトの名無しさん
16/09/01 20:31:55.38 n+lE1LxE.net
setter/gettrrが要る要らないの話題になるとpublic変数の話題に転びがちだな。
ちょっともにょもにょする。
336:デフォルトの名無しさん
16/09/01 20:40:39.28 n+lE1LxE.net
外部から属性を設定せざるを得ない状況がけっこうあって、なかなかリファクタリングも難しいってことか。
337:デフォルトの名無しさん
16/09/01 21:41:16.10 quvSlm2c.net
>>327
C++でプロパティ導入するなら、getterの戻り値は参照かconst参照のどちらかに制限すれば、
その辺の問題は解決しそう。
338:デフォルトの名無しさん
16/09/01 23:31:36.63 kyBhPm5k.net
そういや、パッと見は普通のフィールド(メンバ変数)なせいで
実行速度とか気にせずに気楽に使ってしまいやすい、なんて弊害も多少あるみたいね。
339:デフォルトの名無しさん
16/09/01 23:49:26.27 VuYRfyfh.net
てかgetter/setterでもプロパティカプセル化が弱くなるから原則使わないのが基本だろ
フラグをプロパティ化してどうのこうのとか言ってるやついたけど、参照透過性なくなって状態遷移図保守の雇用を産みだしてるだけ
340:デフォルトの名無しさん
16/09/01 23:55:31.16 quvSlm2c.net
それはおかしいだろ。メンバ変数を外から操作する必要性は普通にある。
例えばWindowクラスとかどうすんの。メンバ変数変えられないWindowクラスとか欠陥品でしょ。
341:デフォルトの名無しさん
16/09/01 23:55:52.32 oRYPM1bK.net
>>334
言いたいことはわかるが、 外からの属性アクセスをやめたとしても、
実際に内部状態が変化するなら参照透過ではないよな?
342:デフォルトの名無しさん
16/09/01 23:58:42.81 VuYRfyfh.net
>>335
お前がWindowクラスを書くのは自由だけど、C++なんだから数値計算ライブラリとかを想定して書けよ
>>336
もちろん
343:デフォルトの名無しさん
16/09/02 00:04:47.23 q6GNZ6RD.net
>>337
否定されてから急に話題を限定し出すってのは一番見苦しいパターンだぞw
素直に間違いを認めろよ。数値解析だっていくらでもそういう事例あるだろ。
344:デフォルトの名無しさん
16/09/02 00:23:31.33 dxT5btnL.net
あるかないかで言えばもちろんあるけど、外部主導の状態コントロールは避けたいので、
設計に時間をかけられるときはhetter/setterは減るだろう、ってだけ。
345:デフォルトの名無しさん
16/09/02 00:25:04.39 dxT5btnL.net
X hetter
〇 getter
346:デフォルトの名無しさん
16/09/02 00:32:46.64 wMSGanuZ.net
C++はプロパティないのでコード書くときは短く済ませたいんで
ゲッターはSize()、
セッターをSetSize()にして
Get省略してる
347:デフォルトの名無しさん
16/09/02 00:50:46.08 VaOayOrf.net
>>341
自分はSetも省略する
たまに引数の関係でできない時もあるけどさ
348:デフォルトの名無しさん
16/09/02 04:12:21.27 +CUdjKtm.net
俺はオーバーロードになると関数ポインタとるのが面倒になるからsetぐらいは省略しないな
349:デフォルトの名無しさん
16/09/02 04:38:51.30 17n5VyUh.net
メンバ関数ポインタってほとんど使わないから気にしたことなかった…
350:デフォルトの名無しさん
16/09/02 06:31:01.77 96M6CE+e.net
>>342
ああ、引数の違いを利用すればsetもgetも省略できるのか。
int value(int val); ... メンバvalueの値の設定
int value(); ... メンバvalueの値の参照
同じ関数名で機能の異なるものを作るのは危険、
ということから思いつきもしなかったけど、
この使い方なら便利で有用かも知れないな。
351:デフォルトの名無しさん
16/09/02 07:16:35.65 Vf4h0u1D.net
>>345
> int value(int val); ... メンバvalueの値の設定
なぜに戻り値?
352:345
16/09/02 07:33:47.21 96M6CE+e.net
>>346
値の範囲制限とかする場合に、
戻り値に「実際に格納された値」を入れて返す。
あと瑣末なことだけど、
cout << a.value(val) << endl;
みたいに格納しつつ値も使う、ができてちょい便利。
353:デフォルトの名無しさん
16/09/02 07:35:34.05 MC2dvnuP.net
そう言うの、以前の値を返すのも多いから紛らわしいな。
354:デフォルトの名無しさん
16/09/02 07:36:05.31 sd/G3GoC.net
std::exchange的な~?
355:デフォルトの名無しさん
16/09/02 07:49:11.95 Vf4h0u1D.net
>>347
> 戻り値に「実際に格納された値」を入れて返す。
こっちはまだわからなくもないが
> 格納しつつ値も使う、ができてちょい便利。
みたいな設計はどうかと思う
356:デフォルトの名無しさん
16/09/02 08:01:45.25 /uIui9G6.net
そうだな
(a = b) = c;
みたいな20世紀の設計思想だな
357:デフォルトの名無しさん
16/09/02 08:01:48.98 5Aji0+2+.net
*this
358:を返してしまう
359: ◆SEdFBOkLSw
16/09/02 08:29:24.90 Nu/77N8P.net
>>352
メソッドチェーン出来て便利だよね。
360:デフォルトの名無しさん
16/09/02 08:44:56.31 OksuLk+6.net
演算子のオーバーロードみたいな使い方のポリシーでは
a.val(b.val() + c.val()) みたいなやつ
というかどうしてもプロパティが欲しけりゃ演算子オーバーロードで真似っこできるじゃん
361:デフォルトの名無しさん
16/09/02 08:48:54.95 xzsbRhmn.net
は? 演算子オーバーロードでどうやってプロパティの代用すんだよw
プロパティ分かってない奴か? コードを示して見ろ。
362:デフォルトの名無しさん
16/09/02 09:12:04.14 +CUdjKtm.net
URLリンク(ideone.com)
こんな感じか?
363:デフォルトの名無しさん
16/09/02 09:14:47.55 OksuLk+6.net
>>355
ググれば普通に出るが?
なんでそんなに必死なの
URLリンク(boost.2283326.n4.nabble.com)
364:デフォルトの名無しさん
16/09/02 09:20:57.20 OksuLk+6.net
>>356
そうね、そういう感じ
365:デフォルトの名無しさん
16/09/02 10:36:49.94 AFnhG1K/.net
それじゃ仮想関数にできないじゃん。やり直し。
無理やりオーバーライドできるようにしなくていいよ。
既にコードも必要以上に複雑化しててgetter/setterの方がマシなレベルだし。
366:デフォルトの名無しさん
16/09/02 12:07:39.19 +CUdjKtm.net
>>359
NVIって知ってる?
367:デフォルトの名無しさん
16/09/02 12:09:10.62 rUpx5Cs1.net
結局、プロパティは要らんわな。
タイプ量の問題ならマクロで解決出来るし。
368:デフォルトの名無しさん
16/09/02 12:26:51.71 6Qab/oE8.net
これからのC++にプロパティーは必須だな。
これからもどんどん新しい機能を取り入れてどんどん
わけがわからなくなるといい。
369:デフォルトの名無しさん
16/09/02 12:41:00.31 1fpVQ5H8.net
マクロは入力補完できないし衝突の可能性がある
370:デフォルトの名無しさん
16/09/02 12:49:08.18 6Qab/oE8.net
C++はマクロで出来ることをどんどん機能として取り込んで来たのに
いまさら後戻りはできない。
371:デフォルトの名無しさん
16/09/02 18:00:48.43 96M6CE+e.net
C#の「プロパティ」って機能がどんなのか知らないけど、
現在C++にないから不要な機能だ、と突っ張るのは危険かも知れないよ。
いつか「次の規格から『C#のプロパティ』と同様の機能が追加」と
発表されるかもしれない。これまでもそうやって肥大化してるじゃない。
372:デフォルトの名無しさん
16/09/02 18:28:49.74 qjeLwgBZ.net
Javaでもそうだけどgetter/setterは言語的には単なるメソッドでしかないが
C#のプロパティは言語的にメソッドとは違うものとして認識出来るようになっている
そこから様々な便利さが出てきている
373:デフォルトの名無しさん
16/09/02 19:27:06.33 nL/2u0CX.net
>>364
マクロで出来ることではなく、
マクロに頼っていたことを、
マクロを使わずに出来るようにしてきたんだよ。
スコープに従わないオブジェクト指向の敵との戦いだ
374:デフォルトの名無しさん
16/09/02 19:37:33.13 XrGCfAOV.net
C++のテンプレートってポストプロセッサといっていいよね。
マクロみたいなもん。
375:デフォルトの名無しさん
16/09/02 20:24:08.55 8Rlh5aGL.net
↓テンプレートとマクロは全く違うもの
376:デフォルトの名無しさん
16/09/02 20:41:05.83 Wj/juS31.net
ソースコードの書き換えという点では同じ。
377:デフォルトの名無しさん
16/09/02 20:49:32.19 W5XwdQxs.net
テンプレートはテキスト置換じゃないよ。
あれはコンパイルタイムに計算してるんだよ。
378:デフォルトの名無しさん
16/09/02 20:49:47.52 1fpVQ5H8.net
テンプレートが単なる置き換えだと思ってるのか
379:デフォルトの名無しさん
16/09/02 20:50:16.78 BGbCtBYN.net
マクロの親玉だ
380:デフォルトの名無しさん
16/09/02 20:52:42.81 W5XwdQxs.net
テンプレートもconstexprもある種の計算機のサブセットだからなぁ。
381:デフォルトの名無しさん
16/09/02 22:57:15.93 Q3H4IaZb.net
コンパイル時に計算できることなんてたかが知れてるし、使い道ないんだよな
382:デフォルトの名無しさん
16/09/02 22:59:57.14 3Xz3H/8a.net
いやいや…型チェックとかのなくすべき実行時オーバーヘッドがなくせるってだけで意味大有りだろ
383:デフォルトの名無しさん
16/09/02 23:04:13.81 W5XwdQxs.net
PURE関数が入ったら、constexprなんかは関数がハッシュに置き換わってそこから値置換になるかも。
コードを全部どけて数字一個になる日も近い。
384:デフォルトの名無しさん
16/09/02 23:12:20.33 1fpVQ5H8.net
まともにC++使ってて使い道無いとかどうやったらそう解釈できるんだ
385:デフォルトの名無しさん
16/09/02 23:30:26.24 Q3H4IaZb.net
コンパイル時に決まってるなら計算する必要ないじゃん
386:デフォルトの名無しさん
16/09/02 23:32:54.48 1fpVQ5H8.net
手動で計算してくれ
387:デフォルトの名無しさん
16/09/02 23:35:19.44 W5XwdQxs.net
そしてたどり着くのだ。42に。
388:デフォルトの名無しさん
16/09/03 00:45:41.77 WTZrMZ5J.net
テンプレートなしだとマクロとvoid*でやりくりすることになるのかな
<algorithm>の中身がおそろしいことになりそう
389:デフォルトの名無しさん
16/09/03 02:05:00.69 VnUB3qPQ.net
>>381
43ですが
390:デフォルトの名無しさん
16/09/03 02:08:56.14 VnUB3qPQ.net
templateなんてデブなブタに過ぎんからな
391:デフォルトの名無しさん
16/09/03 02:12:17.57 qWYFFL/S.net
>>383
なんすかそれ。
392:デフォルトの名無しさん
16/09/03 07:03:39.80 ZkDRxv2v.net
>>375
最適化を否定するのか?
393:デフォルトの名無しさん
16/09/03 07:04:51.23 ZkDRxv2v.net
>>382
bsearchみたいにな
394:デフォルトの名無しさん
16/09/03 09:55:01.98 MIqeGybs.net
templateなんて実際に使えるレベルものを書ける人なんてほとんどいないだろ
使うことはあっても、書くことはないだろ
395:デフォルトの名無しさん
16/09/03 10:03:25.99 2vnq4BB3.net
ライブラリを作っていれば嫌でも使うが
396:デフォルトの名無しさん
16/09/03 11:15:11.07 NvcWw3DB.net
>>388
キミの周りではそうかもしれないけど、templateみたいな便利なものを使えないようじゃ現代のプログラマとしては失格だと思います
てかテンプレートってそんなに難しいか?
397:デフォルトの名無しさん
16/09/03 11:47:23.77 KpYZ86nt.net
標準コンテナくらいバカでも使える。
それだけでテンプレートのメリットは十分に享受できる。
398:デフォルトの名無しさん
16/09/03 11:48:35.81 2vnq4BB3.net
boost並みの実装ができないと書けていることにならないらしい
399:デフォルトの名無しさん
16/09/03 12:11:48.21 NXr2sGOM.net
>>388
汎用性があって他人も実際に使えるレベルとなると難しいかもしれんが、自分が使う範囲内では普通に書くだろう。
はじめからtemplateを書くんじゃなくて自分用のユーティリティとかをtemplate化することも含めればけっこうある。
400:デフォルトの名無しさん
16/09/03 12:23:53.61 ZkDRxv2v.net
>>390
ほんこれ
401:デフォルトの名無しさん
16/09/03 12:35:37.51 UwaIhkeW.net
くだらねえな
もっと為になる話をしろやカス
402:デフォルトの名無しさん
16/09/03 12:54:22.03 e++gk4lZ.net
Boost並に使いこなせるか?って聞かれたら
謝るしか無いわ、ホントごめん
403:デフォルトの名無しさん
16/09/03 12:56:30.19 2vnq4BB3.net
為になる本ならたくさんある
404:デフォルトの名無しさん
16/09/03 13:22:16.46 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で取得する
一応思いつくのはこのあたりなんだけど、もっとスマートなやり方ってあるかな?
405:デフォルトの名無しさん
16/09/03 13:25:09.63 WhBzeO8K.net
>>398
メソッドDをCがnewする?なんか説明が胡散臭いんだけど、普通に戻り値で返すのはダメなん?
406:デフォルトの名無しさん
16/09/03 13:31:49.96 ftE9LPfh.net
そんなことしてたら「この計算結果もほしいんだけど」ってなった時に
また
407:困ることになる。 Contextクラスを追加して、計算に必要な情報はそこに集約させろ。 そうすればどの階層からでも必要な情報を取れる。
408:デフォルトの名無しさん
16/09/03 13:34:05.21 xlYZjvy0.net
>>399
すまん、説明が適当だった
CはDメソッドがあるクラスをnewしてるってこと
DClass dClass = new DClass()
C() {
dClass->d();
409:デフォルトの名無しさん
16/09/03 13:36:43.61 xlYZjvy0.net
>>399
ごめん、途中で送信しちゃった、
CはDメソッドがあるクラスをnewしてるってこと
C() {
DClass dClass = new DClass()
dClass->d();
}
戻り値はEから外部システムに送信が成功したかどうかを表すbool値がすでに返されてるんだ
>>400
Contextクラスか・・自分は使ったことないし、よく理解できてないからググってみるわ
ありがとう
410:デフォルトの名無しさん
16/09/03 13:40:54.20 2vnq4BB3.net
説明の意味が全く分からない
hoge B::get_E(){
D *d = c.create_D();
411:デフォルトの名無しさん
16/09/03 13:47:29.68 e++gk4lZ.net
今後パラメータが増える可能性があるようなら、それらをクラスなり構造体なりにまとめて、
何らかの方法で渡すようにすれば、最小限のコード修正で済むよってことじゃない?
412:デフォルトの名無しさん
16/09/03 13:51:40.11 2vnq4BB3.net
>>402
そのCの戻り値にDの戻り値のEを入れてBが受ければいいんじゃないのか
413:デフォルトの名無しさん
16/09/03 13:58:09.73 Px0qkqVR.net
>>398
引数を追加する方法を取るとして、楽するならば
一旦引数を構造体にして、後で追加したい場合構造体のメンバーを追加する形にする
全部の関数はその構造体を引数にしていれば、好きな構造体メンバーを追加しても形は変わらない
414:デフォルトの名無しさん
16/09/03 13:58:29.96 Px0qkqVR.net
>>404
おれはや
415:デフォルトの名無しさん
16/09/03 13:59:56.32 e++gk4lZ.net
>>405
既に戻り値は他で使われてるらしいし
そのやり方だと、参照渡しなんかが現実的じゃない?
416:デフォルトの名無しさん
16/09/03 14:00:12.38 WhBzeO8K.net
>>402
「全て引数を追加する」がContextかなんかの参照引数を渡してまわる方法だと思ったんだけど、違ったんかな?
戻り値を変えたくないならそうするしかないと思うよ。
417:デフォルトの名無しさん
16/09/03 14:01:01.19 ZkDRxv2v.net
>>395
気がついたやつがやれ
指図すんなクレクレ厨め
418:デフォルトの名無しさん
16/09/03 14:05:10.90 2vnq4BB3.net
>>408
戻り値なんてpairなりtupleなりでいくらでも増やせばいいじゃん
周囲に影響を出したくないならそこから特定の値だけを取り出す関数でも噛ませればいい
419:デフォルトの名無しさん
16/09/03 14:14:55.80 4FUmxt1N.net
コンポジションじゃ駄目なん?
420: ◆SEdFBOkLSw
16/09/03 14:20:00.21 WfmCkwdk.net
Eの結果がどう欲しいかによるとは思うな。
Aだけが知りたいなら素直にEがログ残せば良いと思う。
中間層が知りたいなら返してやらなきゃならんだろうけど、B→Eが他の部分で使われてたら関連するのビルドし直しだしテストし直しだし、出し直さないといかんのでは?
421:デフォルトの名無しさん
16/09/03 15:45:28.04 KoWGZcqO.net
はいはい池沼は去れ
422:デフォルトの名無しさん
16/09/04 06:52:12.75 5SDmlLW2.net
URLリンク(www.embarcadero.com)
現在、RAD Studio(Delphi、C++Builderのセット)が無料でダウンロード可能ですよ
右側のStarter Edition100% Offをクリックするとダウンロードページに飛べます。
(無料ダウンロードは、2016年8月22日から9月9日までの期間限定)
423:デフォルトの名無しさん
16/09/04 06:58:26.93 5SDmlLW2.net
すいません、C++Builderはこっちです
URLリンク(www.embarcadero.com)
現在、C++Builderが無料でダウンロード可能
右側のStarter Edition100% Offをクリックするとダウンロードページに飛べます
(無料ダウンロードは、2016年8月22日から9月9日までの期間限定)
DelphiとC++Buiderは別個にダウンロードが必要な模様
(無料ダウンロードは、2016年8月22日から9月9日までの期間限定)
424:デフォルトの名無しさん
16/09/04 07:03:58.75 5SDmlLW2.net
>>415はDelphiのみでした
425:デフォルトの名無しさん
16/09/04 07:28:40.73 uvifPYcj.net
リンク先ページを見たけど、これでダウンロードできるのは
「30日間だけ無料で使えます」バージョンじゃないのかな。
"Try C++Builder FREE for 30 days" って
ダウンロードできる期間が30日間、じゃないよね。
>>415-416 に出てる期間は30日には足りないし。
426:デフォルトの名無しさん
16/09/04 09:09:03.52 xp6EP8jq.net
スターターエディションの方じゃね?
C++ Builder
URLリンク(www.embarcadero.com)
Delphi
URLリンク(www.embarcadero.com)
427:デフォルトの名無しさん
16/09/04 09:17:51.17 ZU1xzEkS.net
>>390
簡単だと言い張って可読性の低いバギーなもん作ってよこす奴が多いから
テンプレートは嫌いなんだよ。
STLで十分。
428:デフォルトの名無しさん
16/09/04 09:56:16.37 ZZxj7Xyl.net
無能の言い訳にしか聞こえないな
429:デフォルトの名無しさん
16/09/04 10:13:47.98 xp6EP8jq.net
>>420
> 簡単だと言い張って可読性の低いバギーなもん作ってよこす奴が多いから
理由になってなくて笑た
430:デフォルトの名無しさん
16/09/04 10:22:29.27 GcCwBDUy.net
>>420
特定の人間でなく周りに多いのなら受けるお前の方に問題があるんじゃないか?
431:デフォルトの名無しさん
16/09/04 10:39:20.02 GZCXAM8t.net
類友なのに自分は違うって思ってるパティーン
最も傑作でおめでたい人種
432:デフォルトの名無しさん
16/09/04 12:40:13.35 +mIHXAwk.net
昔のオブジェクト指向と似たような議論だな。
別にフルに使いこなせなくても恩恵は受けられるだろうにw
433:デフォルトの名無しさん
16/09/04 13:31:30.85 u29z8UDZ.net
難しいから使うなって一生使えるようにならないよね
そういう進歩を捨てた人間は技術者とは認めてないわ
434:デフォルトの名無しさん
16/09/04 13:58:48.62 6rO3xNqX.net
>>420
最後の2行は2016年度最強の名言だな
435:デフォルトの名無しさん
16/09/04 14:05:26.02 VQnaPYaY.net
>>427
テンプラ屋でもやれば?
436:デフォルトの名無しさん
16/09/04 14:05:45.23 X6kuqpOw.net
べつに嫌いな機能が有ってもおかしくはないな。
プリプロセッサーが嫌いな人とか、iostreamが嫌いな人とか人それぞれ
437:デフォルトの名無しさん
16/09/04 14:06:53.24 6rO3xNqX.net
オブジェクト指向www
久しぶりに聞いたな
438:デフォルトの名無しさん
16/09/04 14:07:38.02 OnzMHuuE.net
>>420
まずはSTLが何の略語なのか調べてみよう!
439:デフォルトの名無しさん
16/09/04 14:17:00.28 xp6EP8jq.net
>>429
嫌いな機能はあってもいいけどその理由が >>420 とかなのはねぇ
440:デフォルトの名無しさん
16/09/04 14:45:42.58 bYyi8Nkm.net
C++を使う理由の90%がテンプレートでしょう
使わないならCでもやっててください
441:デフォルトの名無しさん
16/09/04 14:52:46.08 VQnaPYaY.net
C言語しか出来ない50代くらいのジジイたくさん居る
で、なぜかえばっている
442:デフォルトの名無しさん
16/09/04 14:54:45.23 Zvr3allz.net
便利だと言い張って可読性の低い醜悪なもん作ってよこす奴が多いからCPPは嫌いなんだよ。
テンプレートは最高。
443:デフォルトの名無しさん
16/09/04 15:16:44.85 9+LtAjSl.net
stlっていっても、実装見たら初学者でも書けるようなものがほとんどでしょ。
forで回して、比較してるだけとかwww
積極的に使う理由がない
444:デフォルトの名無しさん
16/09/04 15:23:23.36 u29z8UDZ.net
コピペすんな
445:デフォルトの名無しさん
16/09/04 15:58:19.56 dwel9f30.net
おいら最近はC#のほうが多くてC++はご無沙汰になってるんだけど
C++のテンプレートが使えたらなあって思うことはたまにある
446:デフォルトの名無しさん
16/09/04 16:51:50.12 1H4SDZ6a.net
は? C#にも名前は違うけどあるだろボケ
447:デフォルトの名無しさん
16/09/04 17:03:58.61 u29z8UDZ.net
ねえよ
448:デフォルトの名無しさん
16/09/04 17:05:46.48 dwel9f30.net
>>439
似たようなのはあるし、大体はそれで問題ないんだけど
テンプレートとは根本的な仕組みが違うので、特殊化とか微妙に出来ることに差があるのよね
449:デフォルトの名無しさん
16/09/04 17:12:09.12 UDXdUcTk.net
C#のジェネリックはCLIを一個しか生成せずに、型の違うオブジェクトが与えられたら
JITコンパイル時に生成してるもんな
だからサイズは小さいけどC++のtemplateとは根本的に考え方が異なる
おまけにオブジェクト同士を演算しようとするとコンパイルエラーになるので
dynamic、つまりリフレクションを使うしかないという
450:デフォルトの名無しさん
16/09/04 18:39:26.39 c++wF4a4.net
IDがC++だー
451:デフォルトの名無しさん
16/09/04 18:54:35.76 ZZxj7Xyl.net
>>443
おおすげーおめでとう
452:デフォルトの名無しさん
16/09/04 19:14:14.87 1H4SDZ6a.net
>>442
言語機構が違うから実装も異なるのは当たり前。
それがどう実用上影響するのかを書けよ。
当たり前だが、俺はC#のジェネリックと
C++のテンプレートの機能上の様々な相違点(例えばintを引数に取れないとか)は知った上で、
おまえさんの教育のために質問してるからな?
勘違いするなよ。
453:デフォルトの名無しさん
16/09/04 19:16:44.51 1H4SDZ6a.net
intを取れないってのは_
C++でできるtemplate<int N>
みたいなのがC#ではできないって意味な。
馬鹿が勘違いするといけないから。
454:デフォルトの名無しさん
16/09/04 19:25:27.22 OnzMHuuE.net
>>443
おおっ!
455:デフォルトの名無しさん
16/09/04 21:25:33.06 pHvOGCAw.net
>>439
> は? C#にも名前は違うけどあるだろボケ
ジェネリックとテンプレートが同じだといいたいのかな?
ガチなアフォ登場したなwww
456:デフォルトの名無しさん
16/09/04 21:27:10.35 dwel9f30.net
>>448
C++分かる人に使い方の説明しろと言われたら間違いなく
真っ先に「テンプレートです」って言うけどな
457:デフォルトの名無しさん
16/09/04 21:37:35.91 ZdgSZwYz.net
テンプレートはコンパイルタイム、ジェネリックはランタイムだ。
458:デフォルトの名無しさん
16/09/04 21:37:38.20 xp6EP8jq.net
>>443
スゲー、なんか羨ましいぜ
459:デフォルトの名無しさん
16/09/04 21:48:56.88 I3Tx/JDs.net
コンパイルタイムのくせにいちいち
typenameをつけまくらないといけない
クソ言語。
テンプレートパラメーターごとに特殊化が作られるんだから
その辺テキトーでもいいはずなのに。
460:デフォルトの名無しさん
16/09/04 21:54:49.52 LHkeQq2D.net
つか、型なんてコンパイル時なんて遅すぎだろ
普通は設計終わった段階で全て決定してるし。
461:デフォルトの名無しさん
16/09/04 21:58:44.17 I3Tx/JDs.net
まじかよ
俺今日vector<int>って書いたけど
vectorの設計後にインスタンス化しちゃったぜよ
462:デフォルトの名無しさん
16/09/04 22:00:39.11 +mIHXAwk.net
細かい違いはあれどジェネリックはC#版のテンプレートだろ
463:デフォルトの名無しさん
16/09/04 22:16:41.22 LHkeQq2D.net
ジェネリックはC#版のテンプレート
名言頂きました
464:デフォルトの名無しさん
16/09/04 22:18:59.30 ItsH+W+6.net
ジェネリクスは汎化で、テンプレートはコンパイルタイムで、全くの別物じゃないの?
465:デフォルトの名無しさん
16/09/04 22:23:32.00 r5JTAWNt.net
言語機能の目的は似ているな
目的を理解せず仕組みを語りたがる中学生には違うらしいけど
466:デフォルトの名無しさん
16/09/04 22:24:22.75 u29z8UDZ.net
ジェネリックは基本的に算術演算子を使えないしメンバ関数も使えないからな
インターフェイスを定義してようやく特定の型のみ対応できる
467:デフォルトの名無しさん
16/09/04 22:27:35.01 +mIHXAwk.net
>>457
それは相違点の1つだろ。
テンプレートにせよジェネリックにせよ一番の本質は
「型引数を受け取って特化型を生成すること」だからな。
468:デフォルトの名無しさん
16/09/04 22:52:01.38 r5JTAWNt.net
>ジェネリックは基本的に算術演算子を使えないしメンバ関数も使えないからな
へー、初耳だ
469:デフォルトの名無しさん
16/09/04 23:38:59.65 c++wF4a4.net
>>444,447,451
ありがとう
これを機にC++erになります
470:デフォルトの名無しさん
16/09/05 01:54:37.65 Zffp85C6.net
>>461
おい、お前試してみてから言ってるんだろうな?
471:デフォルトの名無しさん
16/09/05 10:51:16.59 ece9l1SB.net
>>458
目的が同じなら方法の違いは関係ないとでも?
472:デフォルトの名無しさん
16/09/05 13:56:45.07 4eC9RGW3.net
>>433
それは60代から上のCOBOL世代
50代はC++バリバリ使うぞ
TCPL初版当時の若燕をなめんな
473:デフォルトの名無しさん
16/09/05 14:43:22.97 5jAupIQr.net
「COBOLerがテンプレート目的でC++を使う」
「」
474:デフォルトの名無しさん
16/09/05 15:38:04.05 4eC9RGW3.net
TCPL初版を見たこともないやつが
煽るつもりで自分の無知を晒しているなあw
475:デフォルトの名無しさん
16/09/05 16:00:17.35 NFX2QcZC.net
C++(ベターC)
476:デフォルトの名無しさん
16/09/05 16:25:11.01 M0OvRWnI.net
TCPL?
素直にターボCのこと?
477:デフォルトの名無しさん
16/09/05 16:35:11.86 4eC9RGW3.net
the C programming languageのことじゃね
いいよ、そう思ってろ
478:デフォルトの名無しさん
16/09/05 16:42:54.97 /PewDBDd.net
老害
479:デフォルトの名無しさん
16/09/05 16:50:33.58 S/r0zM88.net
>>464
関係無いな
>>454に対する>>457のレスは話のすり替えに他ならない
480:デフォルトの名無しさん
16/09/05 16:51:54.71 S/r0zM88.net
番号ずれた
誤 >>454に対する>>457のレスは
正 >>455に対する>>457のレスは
481:デフォルトの名無しさん
16/09/05 19:14:07.88 5F1Hp9JO.net
TCPL なんて初めてみたわ
482:デフォルトの名無しさん
16/09/05 19:40:32.27 ZL7Oa3Lb.net
きかんな
483:デフォルトの名無しさん
16/09/05 19:46:24.46 Oj+RV/HM.net
>>467
東京コンテンツプロデューサーズ・ラボとか出てきたんだけどw
検索ですぐヒットしないような用語使うのは止めてくれよ
484:デフォルトの名無しさん
16/09/05 19:56:37.92 NFX2QcZC.net
Effective C++3冊を読んでいないやつは老害
485:デフォルトの名無しさん
16/09/05 20:36:14.34 1ue4xWo4.net
三冊もあんの?一冊にしてくれよ
486:デフォルトの名無しさん
16/09/05 20:38:07.50 MPm038QF.net
>>470
普通K&Rって言わね?
何処の田舎モンよ?
487:デフォルトの名無しさん
16/09/05 20:46:21.19 32FGf11f.net
>>478
Effective STLを含めれば4冊もあるぞ
488:デフォルトの名無しさん
16/09/05 20:48:51.10 1ue4xWo4.net
STL何それうまいの?
489:デフォルトの名無しさん
16/09/05 20:51:36.83 IQvMB0/c.net
仮に TCPL が『プログラミング言語C』(K&R)のことだとしても、
いきなりC++のスレッドで出てくると違和感があるのだが。
490:デフォルトの名無しさん
16/09/05 20:56:18.25 zRA0QsUX.net
53ページを暗記する奴?
491:デフォルトの名無しさん
16/09/05 21:02:31.55 1ue4xWo4.net
蟹チャーハン何それうまいの?
読んだことはないけど20世紀に信者がウザかった記憶だけはあるな
ANSIで標準化されたことを自分のレーゾンデートルを奪われたと勘違いして幻覚を見たかのような必死さが伺えた
492:デフォルトの名無しさん
16/09/05 22:01:52.55 4eC9RGW3.net
>>479
よう、真性カッペw
493:デフォルトの名無しさん
16/09/05 22:02:46.08 4eC9RGW3.net
あ、アンカー打ち忘れた
>>482も真性カッペな
494:デフォルトの名無しさん
16/09/05 22:06:39.74 32FGf11f.net
おじさんくやしがりすぎやろ…
495:デフォルトの名無しさん
16/09/05 22:18:16.67 zRA0QsUX.net
TCPLなんて検索しても全くヒットしないじゃん
SICPくらいヒットするように頑張ってからドヤ顔するんだな
496:デフォルトの名無しさん
16/09/05 23:01:37.47 4eC9RGW3.net
かつて通用してて曖昧性が指摘されて後に死語化したものがヒットするわけねーだろ
こういうのは検索だけがソースなやつにはわかるわけがない
497:デフォルトの名無しさん
16/09/05 23:03:21.14 4eC9RGW3.net
禿が、言語はそいつが何を考えることが出来るかを決めてしまう、
というのと同様、検索によって何を知ることが出来るかを決められてしまってるやつw
498:デフォルトの名無しさん
16/09/05 23:04:11.29 g7jOSJ0B.net
the c++ program language
499:デフォルトの名無しさん
16/09/05 23:05:08.72 9BGJMvFR.net
真っ赤になって弁明、無意味な連投、あとは草大量に生やせばパーフェクト
500:デフォルトの名無しさん
16/09/06 00:08:40.53 F5fS/nn6.net
おいおい、自分で老害認定してるジジイをあんまりいじめるなよw
501:デフォルトの名無しさん
16/09/06 02:59:46.82 bgQCWsty.net
死語をドヤ顔で使う老害なんて早く死ねば良いのに
502:デフォルトの名無しさん
16/09/06 06:24:00.28 AN+xYaOm.net
TCPL って "The C++ Programming Language" のことなのかな?
++ がない方の書名(K&R)と紛らわしいわね。
…すると >>467 と >>470 はID被りの別人だったのか。
"Learning Standard C++ as a New Language"「標準C++を新しい言語として学ぶ」や
『プログラミング言語C++』(TCPL?)第4版の中で、ハゲ先生は
「新しい規格で便利な機能を使え」と言ってたはずで、
そこからすると「古い参考書を読んだことがある方が偉い」って
主張はなかなか賛成しにくいなぁ。
503:デフォルトの名無しさん
16/09/06 07:12:19.22 JRdVpVwV.net
祝 void_t 標準入り
504:デフォルトの名無しさん
16/09/06 08:22:00.35 7VUHkvW+.net
そういうのは規格化されてから言え
お前の脳内の標準などどうでもいい
505:デフォルトの名無しさん
16/09/06 08:40:04.46 0OEY122r.net
void_tは決まったんじゃないのか
506:デフォルトの名無しさん
16/09/06 08:50:04.45 ewg0kDeB.net
>>497
「次期C++1zでの標準化がほぼ確定したので・・・」
と細々と書かないと通じないのか?
507:デフォルトの名無しさん
16/09/06 10:05:09.80 ScDQQjzO.net
>>495
偉いとか言ってねえぜ
相対評価ではなく絶対評価で
シッタカはクソ以下だつってるだけだ
508:デフォルトの名無しさん
16/09/06 10:11:45.27 F5fS/nn6.net
The C++ Programming Language なら"TC++PL"な
URLリンク(www.stroustrup.com)
用語がデタラメなジジイは話が通じなくて疎まれるだろ?
509:デフォルトの名無しさん
16/09/06 10:42:23.06 yUThNKeL.net
TPPみたいになんでも略し杉w
510:デフォルトの名無しさん
16/09/06 10:44:47.41 ScDQQjzO.net
あとからそうなったんだよ
ガキが知らないのは仕方ない
知らねーなら知らねーなりにしとくぶんには可愛げあるんだよ
それを尻が青いくせにジジイのふりをするからバカにしか見えないってだけさ
511:デフォルトの名無しさん
16/09/06 11:17:08.98 F5fS/nn6.net
>>503
>>494
512:デフォルトの名無しさん
16/09/06 11:20:23.27 ScDQQjzO.net
>>504
おまえが死ね
今からダンプに轢かれに出かけろ
513:デフォルトの名無しさん
16/09/06 11:37:06.01 ewg0kDeB.net
略語ってどこまで通じるのか不安になるな。
sfineaやRAIIは大丈夫としても、TMPとかCPPとかって一般的なんだろうか?
514:デフォルトの名無しさん
16/09/06 12:39:46.48 bgQCWsty.net
>>504
死語って言うより死産だよな
TCPL w
515:デフォルトの名無しさん
16/09/06 12:58:22.50 ScDQQjzO.net
あー、禿のWebページでしばらく使ってたのも知らないわけね
そういうのはいくら検索しても出るわきゃねえしガキにゃ厳しいな
516:デフォルトの名無しさん
16/09/06 13:49:15.29 IyJPjQ2g.net
必死で検索したようだが出てこなかったのかw
残念だったなw
517:デフォルトの名無しさん
16/09/06 13:56:51.77 ScDQQjzO.net
おまえがな
518:デフォルトの名無しさん
16/09/06 15:01:29.03 sQOv13Gi.net
くだらなすぎて俺にとってはどうでもいいけど
「"TCPL" "the C++"」でググると結構出てくるけどな例えば
URLリンク(www.allacronyms.com)
519:デフォルトの名無しさん
16/09/06 15:55:19.22 ScDQQjzO.net
デタラメとかぬかしてたクソガキ、息してるか?
520:デフォルトの名無しさん
16/09/06 18:43:34.22 R7REkw4z.net
ハゲが自分のホムペで紹介した俺用語をさも普遍的な用語であるかのように語られても困るな
521:デフォルトの名無しさん
16/09/06 19:48:01.80 1XSUlqoQ.net
>>508
で、使ってたと言う証拠は?
脳内にしかないとか言わないよな w
522:デフォルトの名無しさん
16/09/06 19:54:58.70 YAp6qqUR.net
ここ相談室なんだけどみんな何の相談してるの
523:デフォルトの名無しさん
16/09/06 19:59:18.61 lMZiI53V.net
自分の病気の症状についての相談
524:デフォルトの名無しさん
16/09/06 20:18:59.06 PHkuODAN.net
void_t は何に使うの
525:デフォルトの名無しさん
16/09/06 21:50:12.78 ScDQQjzO.net
>>514
あー、すまんな
俺んとこでは魚拓は脳内だけだ
だからお前は未来永劫見ることができない
いやーすまんすまん
526:デフォルトの名無しさん
16/09/06 21:57:58.50 VCItaBw6.net
>>515
ここ見るとC++に関わる奴はどこか頭おかしいってわかるだろ?
つまりそういうことだ
527:デフォルトの名無しさん
16/09/06 22:51:35.93 EdXevder.net
頭がおかしい(髪が変)
528:デフォルトの名無しさん
16/09/06 23:12:54.88 JRdVpVwV.net
>>517
知ってるでしょ
529:デフォルトの名無しさん
16/09/06 23:26:52.58 sQOv13Gi.net
void_tはSFINAEの定番パターンを標準化しただけ
530:デフォルトの名無しさん
16/09/07 05:00:10.45 MZvlar21.net
>>518
要するに、単なる妄想だったってことかよ w
531:デフォルトの名無しさん
16/09/07 08:16:26.88 4YmObOwP.net
いや現実だよ
おまえが物心つく前か生まれる前か知らんが
歴史上そういう事実があった
過ぎてしまった歴史がぎゃんぎゃん吠えることで変わるとでも思っているなら
それは隣国のメンタリティだね
532:デフォルトの名無しさん
16/09/07 08:27:48.44 W2drX/qt.net
で、その歴史的事実が共有できる資料は?
533:デフォルトの名無しさん
16/09/07 08:34:32.44 uFAnWK01.net
ただの事実と歴史とじゃ重要性が違う。
要するに記憶に留めるべき事実が歴史というわけだ。
逆に「そんなもん知らん」と一蹴されてしまう事実もありうる。
534:デフォルトの名無しさん
16/09/07 09:00:25.57 4YmObOwP.net
>>525
保存してねえって言っただろ鳥アタマめ
535:デフォルトの名無しさん
16/09/07 09:05:41.79 WoQJVoSd.net
いや、資料がないのに歴史だって主張して
それを共有できないって言うと歴史修正主義だって言う姿が
それこそおとなりさんぽいなあって思ってw
536:デフォルトの名無しさん
16/09/07 09:06:18.84 zaGYBHu2.net
それはどこの国の歴史なんだろう?
tcpl "the c programming language"
でググると、中国系、朝鮮系では使われてるらしい
537:デフォルトの名無しさん
16/09/07 09:40:41.09 4YmObOwP.net
>>528
別に主張なんかしてねえよ
事実を偽りなく述べているだけだ
魚拓の有無で変わったりしねえことだ
自分が見られないからってヤダジタすんなガキ
538:デフォルトの名無しさん
16/09/07 10:32:53.78 P2AyoRLU.net
自分より年下と思われる人間をガキ呼ばわりしてるけど、年上が偉いという考え?
それって儒教っぽいな
儒教といえばお隣の国…あっ(察し
539:デフォルトの名無しさん
16/09/07 10:39:46.68 /D7wbjXh.net
ここの住人がスルー力0なのは間違いないな
540:デフォルトの名無しさん
16/09/07 11:24:34.86 prfLhh2R.net
ソースは脳内
そんな恥ずかしい主張ができちゃうなんてもしかして教育を受けてないのかな?
541:デフォルトの名無しさん
16/09/07 11:50:26.76 G0adIbkV.net
暇つぶしが目的だから、スルーしたらつまらないんだろ
542:デフォルトの名無しさん
16/09/07 12:09:49.06 Z3ZB/oVu.net
煽る暇人は2chだからどうしようもないが煽られて何日も踊っているのはさすがにバカだな
543:デフォルトの名無しさん
16/09/07 12:41:12.31 pAK1tPG0.net
暇つぶしなのではなくお互い必死なんだよ
クールを装ってさもどうでもいいように演じてるけどお互い顔真っ赤だよ
544:デフォルトの名無しさん
16/09/07 12:54:37.05 4YmObOwP.net
>>531
なんだおまえ、ガキって書いてあるのを見るたびに自分が卑しく思うのかw
>>533
記録を俺んとこでは残していないってだけだ
誰かが証拠を持ってきたときにもボロが出ないように言ってるぞ
そんときゃおまえが恥ずかしくて出てこれないわけだが
545:デフォルトの名無しさん
16/09/07 12:55:16.53 Ur9IZRDe.net
なんかスレ伸びてると思ったらまーたゴミどうしの罵り合いかよ
くだらないことで熱くなる奴は脳みそ壊れていくんだというのが如実に分かるよ
546:デフォルトの名無しさん
16/09/07 13:08:27.65 prfLhh2R.net
>>537
俺になんか恥ずかしい要素あったか?
スレ違いの書き込みしたことくらいかな
547:デフォルトの名無しさん
16/09/07 13:11:15.34 v93B1UIW.net
誰かが証拠を持ってきたときw
自分の無能を示しておいてなんとも思わんのだな
548:デフォルトの名無しさん
16/09/07 13:58:33.58 LPRQdItN.net
バーカ
549:デフォルトの名無しさん
16/09/07 15:57:42.39 4YmObOwP.net
>>540
禿のWebページの魚拓をログ化していなかったのを無能と言ってくれるのか
さぞかし有能なおまえさんなら持ってるだろうからさっさと出せ
550:デフォルトの名無しさん
16/09/07 19:25:39.09 OYvFv6+r.net
ソースは脳内というのは日常会話の殆どだな。
だから「アナタは私と異なる認識をお持ちなんですね」でしかない。
それを「アナタは証明できないからそれは嘘です」にすり替えるのは詭弁
551:デフォルトの名無しさん
16/09/07 20:06:01.39 1kliuuT7.net
>>542
俺超有能だけどそんな資料なかったよ
つまり君の言ってたことは全部君の妄想ね
はい終了
552:デフォルトの名無しさん
16/09/07 20:12:54.95 2w88FCBz.net
>>508
> あー、禿のWebページでしばらく使ってたのも知らないわけね
が正しいとしてもここにいる人が知らないような略語をどや顔で出すのは頭おかしい
まあどうみても >>511 辺りを間違えて出しちゃって引っ込みつかなくなってるだけだろ w
553:デフォルトの名無しさん
16/09/07 20:34:12.89 4YmObOwP.net
>>545
では、つかってよいりゃくごをあんたはどうやってはんだんしてるんだ?
あたまおかしいとまでおおきくでるならそれなりのきじゅんはあるんだろうな?
さいじゅうどのていのうにあわせるのがぴーじーのしめいとでもかんがえているなら
あふぉだなくそだなだんぷにひかれてしねばいい
554:デフォルトの名無しさん
16/09/07 22:13:15.14 Ur9IZRDe.net
何�
555:咜アければ気が済むんだよこのゴミどもは
556:デフォルトの名無しさん
16/09/07 22:37:17.77 YLqxd+vc.net
自己反映なメタ表現とは高度な技を
557:デフォルトの名無しさん
16/09/07 22:47:20.81 Mf7TDnfn.net
そんなことよりvoid_tの話をしようぜ。
SFINAEの話だけど。
SFINAEってconcept的な使い方以外にどんな使い方があるの?
558:デフォルトの名無しさん
16/09/07 23:19:03.95 LPRQdItN.net
知らねえよバーカ
559:デフォルトの名無しさん
16/09/07 23:20:48.09 YLqxd+vc.net
ワードサラダにマジレス
560:デフォルトの名無しさん
16/09/07 23:29:54.18 yR890zwI.net
>>549
concept的な使い方ってどんなの?
漠然とパターンマッチ的なものをイメージすればいいのかな
561:デフォルトの名無しさん
16/09/08 00:02:15.19 w601usbW.net
良くあるのがメンバーの有無で処理を変えるパターンかな。
俺も良くわからんが。
562:デフォルトの名無しさん
16/09/08 00:12:42.51 sU4tW1UK.net
enable_ifと組み合わせて使うんじゃない?
563:デフォルトの名無しさん
16/09/08 01:13:18.16 NYidnx0p.net
int と longの違いって何ですか?
564:デフォルトの名無しさん
16/09/08 01:15:30.19 p3dWf/BM.net
歴史?
565:デフォルトの名無しさん
16/09/08 02:02:44.82 NonfcYWK.net
>>555
データモデルによりサイズが異なる(かもしれない)
566:デフォルトの名無しさん
16/09/08 04:16:44.74 6JK6uF4x.net
>>546
正論を言われて反論できなくなったら子供じみた態度でひねくれる
ガキだなw
567:デフォルトの名無しさん
16/09/08 04:47:35.75 rBeNUfmR.net
アルツハイマーの症状の一つの幼児化だね
568:デフォルトの名無しさん
16/09/08 05:23:55.94 vt8xUZJ5.net
酢を飲め
569:デフォルトの名無しさん
16/09/08 06:23:15.75 siaRBrBq.net
>>546
つかってみてだれもしらなさそうならおとなしくひっこめろ、ばーか
570:デフォルトの名無しさん
16/09/08 07:39:36.05 TmgW3MRN.net
>>561
やだね
C++スレでC++関連の用語を知らない無知野郎に合わせる必要はない
571:デフォルトの名無しさん
16/09/08 07:54:49.83 P8D+cYPH.net
まじかよ
お前ひとりでつらいだろ?
572:デフォルトの名無しさん
16/09/08 08:11:01.20 cE384uJ3.net
ガイジ
573:デフォルトの名無しさん
16/09/08 08:36:52.70 QwMnHPC3.net
用語とか言い出しちゃったよ、この人 w
574:デフォルトの名無しさん
16/09/08 09:31:44.41 y1qiR/+w.net
[[deprecated]]
575:デフォルトの名無しさん
16/09/08 11:11:48.25 BaIwaWl+.net
このスレ的にはK&R初版でC学んだことを自慢してる奴より AT&T cfont のレファレンスでC++学んだ俺の方が偉いはず
576:デフォルトの名無しさん
16/09/08 11:25:42.94 ik/GfLoL.net
なんでその程度でエラぶれるの?w
577:デフォルトの名無しさん
16/09/08 12:08:58.27 TmgW3MRN.net
cfrontは俺も使っていたが
cfontて何だ? Courier Newか何かか?
578:デフォルトの名無しさん
16/09/08 12:28:42.58 NCg12FAS.net
古ければ古いほど劣っているからな?
古参が全く自慢にならない世界だぞ
579:デフォルトの名無しさん
16/09/08 12:44:06.52 TmgW3MRN.net
プログラムのバージョンと
プログラマの経験年数を
一緒にするのかよ
580:デフォルトの名無しさん
16/09/08 12:47:14.04 P8D+cYPH.net
経験年数と優秀さを一緒にしてはいけない
経験年数10年と20年では10年の方が優秀なことが多い
581:デフォルトの名無しさん
16/09/08 12:48:47.71 NCg12FAS.net
>>571
経験のバージョンが古い
582:デフォルトの名無しさん
16/09/08 12:53:20.28 TmgW3MRN.net
>>572
ソースplz
583:デフォルトの名無しさん
16/09/08 14:10:36.68 P8D+cYPH.net
ソースは俺の観察
584:デフォルトの名無しさん
16/09/08 14:11:54.76 p2bVgJ9p.net
自分のソースは脳内だけど人にはソースを求める白痴
585:デフォルトの名無しさん
16/09/08 15:27:51.19 TmgW3MRN.net
>>576
脳内じゃない
ここは誰が何と言おうとおまえが間違っている
おまえそもそも事実を知らないんだろ
だから俺の言うことのどこがどう間違っているのか具体的な指摘ができない
もっとも知ってたら指摘するところがないはずなんだが
586:デフォルトの名無しさん
16/09/08 16:46:16.67 vI60taJg.net
経験十年積めば大抵のことはできるし対応できるだろうが
経験二十年にはかなわないだろう
587:デフォルトの名無しさん
16/09/08 16:59:40.04 rBeNUfmR.net
archiveから探してこいよ、認知症のジジイ
588:デフォルトの名無しさん
16/09/08 17:00:00.79 y1qiR/+w.net
んなこたあない
589:デフォルトの名無しさん
16/09/08 17:59:18.64 P8D+cYPH.net
>ここは誰が何と言おうとおまえが間違っている
真実を知っているのがこの世で自分だけだなんて
もう生きててつらいだろうな
590:デフォルトの名無しさん
16/09/08 18:09:20.62 Ig68v84V.net
プログラムの経験年数なんて関係ない。
重要なのはどれだけトラブルの経験を積んだかだ。
女性経験が豊富なのと同じだ プw
591:デフォルトの名無しさん
16/09/08 18:15:13.55 TmgW3MRN.net
>>581
逆だ
知らないのがおまえくらいなんだよ
当時を知っている人が身近にいたら聞いてみろ
>>582
童貞乙
592:デフォルトの名無しさん
16/09/08 18:21:23.76 p2bVgJ9p.net
>>583
当時を知ってる人が身近にいたから聞いてみたけどそんなことはなかったってみんな言ってる。
つまり嘘つきはお前。はい論破。
593:デフォルトの名無しさん
16/09/08 18:23:14.02 Ou19mRgF.net
何日も平日の昼間にくだらんいい争いしなきゃならないとか仕事かよ
594:デフォルトの名無しさん
16/09/08 18:25:06.25 Ig68v84V.net
プログラミングを半年もやらなかったら、けっこうな部分を忘れる世界だし、
進化も激しい世界だから、経験を引き継いで発揮できるのはせいぜい五年くらいだろう。
595:デフォルトの名無しさん
16/09/08 18:30:38.43 P8D+cYPH.net
年を取ると物忘れが激しくなる。
「誰が何と言おうと」と自覚しておきながら3時間後に
「知らないのがおまえくらい」と言い出しちゃうぐらい
だから>>584はもう責めないでw
596:デフォルトの名無しさん
16/09/08 19:01:10.30 aq+STl42.net
相談室っていうか病室だな・・・
597:
598:デフォルトの名無しさん
16/09/08 19:09:24.56 69NbtRcU.net
大抵、経験20年とかになってくると老眼とかで大量の情報を高速に見るとかが出来なくなってそう
経験10年なのに目が悪くなってきて辛いです
599:デフォルトの名無しさん
16/09/08 19:34:58.14 y1qiR/+w.net
void_tの話を聞くほうが建設的だ。
600:デフォルトの名無しさん
16/09/08 19:40:42.54 ik/GfLoL.net
だからさ、型名に_t付けるなよ
システムハンガリアンかよ
601:デフォルトの名無しさん
16/09/08 19:48:21.97 y1qiR/+w.net
>>591
using ***_t = ***::type;
ってパターンもダメ?
602:デフォルトの名無しさん
16/09/08 19:56:47.42 ZGDN5kDf.net
>>577
もう楽になりなよ...
603:デフォルトの名無しさん
16/09/08 20:17:46.69 rBeNUfmR.net
頑固になるのもアルツハイマーの症状の一つだね
604:デフォルトの名無しさん
16/09/08 20:50:28.56 TmgW3MRN.net
>>593
は? 苦しい屁理屈でへとへとなのはおまえだろ
605:デフォルトの名無しさん
16/09/08 20:58:33.03 p3dWf/BM.net
同じ穴のムジナが楽しく荒らしてるなぁ。
ただ一言いいたい。
カエレ!
606:デフォルトの名無しさん
16/09/08 22:14:31.27 A7Pb5oFv.net
うそ
かえらないで
607:デフォルトの名無しさん
16/09/08 22:36:18.32 siaRBrBq.net
苦しい屁理屈 ⇒ >>577
そりゃお前の脳内の事実なんて誰も指摘できんわな w
608:デフォルトの名無しさん
16/09/09 00:55:13.72 6Bh01W2V.net
頑固になるとautoや{}の初期化や->の戻り値が許せなくなります
auto b = new auto(true);
char *p{};
auto main() -> int {}
609:デフォルトの名無しさん
16/09/09 01:02:58.35 4oqKijqb.net
>auto main() -> int {}
頑固じゃないけどこれやる奴は何がしたいんだろう
610:デフォルトの名無しさん
16/09/09 01:07:56.60 6Bh01W2V.net
これは頑固の良い例ですね
スタイルの統一とかそういうことを考えられず、変化を拒絶するようになります
611:デフォルトの名無しさん
16/09/09 01:10:09.08 kBQSHV64.net
new auto();
なんて出来ないしな…
612:デフォルトの名無しさん
16/09/09 01:18:20.19 kBQSHV64.net
>>601
じゃあ規格のexampleのスタイル統一から初めてくれよ。
何の意味があるのかしらんが、意味があるなら賛同者出てくるでしょ?
613:デフォルトの名無しさん
16/09/09 01:21:30.28 Wiz5/g3s.net
new auto(10)みたいに推論できる場合ならちゃんとできるみたいだけど
URLリンク(ideone.com)
ただauto main() -> int {}を書くやつは正直、俺知ってるんだぜ自慢したい厨房にしかみえない
タイプ数長くなってんじゃん、何のために導入された書き方か分かってんのかね
614:デフォルトの名無しさん
16/09/09 01:23:35.62 6Bh01W2V.net
これも頑固の良い例ですね
「言語仕様に複数のスタイルが存在してもせめて自分のコード内は統一しよう」
みたいな考えを示唆しているのに、感情的になって関係無いことを言い出すのが特長です
615:デフォルトの名無しさん
16/09/09 01:27:12.55 6Bh01W2V.net
auto main() ->int{}についてはハンをおしたように
「文字数が多い」と言い出すのも特長です
今まで同じレスを見たこともある人も多いのではないでしょうか
「スタイルの統一という観点からはあってもおかしくない」と説明されても
他人が使うことすら許せず否定に躍起になるのが特長です
616:デフォルトの名無しさん
16/09/09 01:35:22.25 6Bh01W2V.net
もちろん新しい記法が良いことばかりではありません
auto b{true};は書けてもnew auto{true}は書けないなど一貫性に乏しい所も有ります
617:デフォルトの名無しさん
16/09/09 01:36:37.09 Wiz5/g3s.net
別に他人がそう書くのを許せないわけじゃないよ
ただ俺はそう書くやつに対してはおかしなやつとかネガティブな印象を持つというだけ
今まで多くの同じようなレスがあったということは俺と同じ印象を持つ人が多いということだと思うよ
618:デフォルトの名無しさん
16/09/09 01:40:41.63 kBQSHV64.net
>>605
言語仕様に複数のスタイルとかいう話ではなく規格のコード例ですらそんな書き方必要でなければしてねえよという話
どっちが頑固なんだかね
619:デフォルトの名無しさん
16/09/09 01:40:48.56 6Bh01W2V.net
これも頑固の良い例ですね
とに新しいスタイルを見ると相手を非難しないと気が済まないのが特長です
>>608のレスにも「おかしなやつ」という攻撃的な単語が見られますが、これも一例と捉えてよいでしょう
620:デフォルトの名無しさん
16/09/09 01:41:50.71 uFCjw0pQ.net
autoつかわなくても書ける場所でこれ期バカしにauto使うヤツはバカなんだと思う
621:デフォルトの名無しさん
16/09/09 01:44:15.73 uFCjw0pQ.net
あとで型名明記するとかなんの為にauto使っているのかバカなんだと思う
622:デフォルトの名無しさん
16/09/09 01:52:18.15 6Bh01W2V.net
これも頑固の良い例ですね
型推論のautoとtraining-return-typeの先頭のautoは違うのですが
とにかく理解以前で拒絶してしまっているのが特長です
でも確かにauto f() -> auto {}みたいな書き方はかなり変人かも知れませんね
623:デフォルトの名無しさん
16/09/09 01:53:27.43 4oqKijqb.net
結局auro main() -> int{}はお遊びなのか?
624:デフォルトの名無しさん
16/09/09 02:00:06.38 uFCjw0pQ.net
>>613
本末転倒だってんだよバカ
625:デフォルトの名無しさん
16/09/09 02:00:54.91 p4LGwUo/.net
ぶっちゃけID:6Bh01W2Vってまじであの書き方がスタイルの統一のという理由が第一で導入されたと思ってそうなんだけどそうでもない?
>>612の言わんとしてることが理解できてない気がする
626:デフォルトの名無しさん
16/09/09 02:09:08.65 6Bh01W2V.net
そうですね
テンプレート関数の戻り値のために導入されたことは良いとして、
「>>612の言わんといていることはplaceholder typeとtrailing-return-typeの混同による不適切な見解ではないか」と述べているのに
「理解できていない気がする」とあやふやなのは不思議ですね
これらも頑固なことによる反射的な拒絶の一面なのかも知れません
627:デフォルトの名無しさん
16/09/09 02:16:06.31 6Bh01W2V.net
また「導入の目的とは別にスタイルの統一の観点からはあっても良いのではないか」
という説明を受けても「目的が違う」と思考停止して否定ありきで考えてしまうのも特長です
本日は600から続く一連の自演レスでその片鱗が伺えたと思います
628:デフォルトの名無しさん
16/09/09 07:33:30.80 H3RR5zb8.net
そもそもスタイルの統一にこだわる必然性はない。
タブとインデントの話と同じで混在したってかまわない。
629:デフォルトの名無しさん
16/09/09 07:36:21.12 SVVRFbIW.net
タブとインデントを混同するやつは見つけ次第殺せ
630:デフォルトの名無しさん
16/09/09 08:00:45.68 z8Otf9Pu.net
どうしてこんな釣り耐性よわいの。
A派とB派の対立じゃなくて
Bスタイルを否定すんな派とBスタイル否定派
は主観の押しつけあいで論破できるわけねーし。
631:デフォルトの名無しさん
16/09/09 08:09:04.86 H3RR5zb8.net
>>620
そういうのってなんか自閉症ぎみなんじゃないの?
632:デフォルトの名無しさん
16/09/09 08:35:47.51 G0RBn0pa.net
trailing-return-typeを、4文字以下では使わない
なんてやってると
int abs(int);
auto abs(float) -> float;
てな具合になるよなあ
ぎりぎりアウトな
char* begin(); を
auto begin() -> char*; にしながら、
俺なにやってんだろって気になることがある
633:デフォルトの名無しさん
16/09/09 08:42:02.98 oGuibT0g.net
>>620
同意する
そういう奴はたいてい他でもいいかげんだからプログラマーには向いてないことを自覚してほしい
634:デフォルトの名無しさん
16/09/09 08:55:13.21 H3RR5zb8.net
んなこたーない
635:デフォルトの名無しさん
16/09/09 11:10:43.31 kBQSHV64.net
>>623
>trailing-return-typeを、4文字以下では使わない
なんで?
636:デフォルトの名無しさん
16/09/09 11:25:30.49 G0RBn0pa.net
int abs(int); を
auto abs(int) -> int; にするメリットは?
autまでタイプした時点でやんなってくるぜ俺は
auto exit(int) -> void; とかナメとんかくらって気ぃしね?
637:デフォルトの名無しさん
16/09/09 11:50:52.32 xpG9Ka1d.net
スタイルの統一という意味では、新しいC++では
普通の関数とメンバ関数を
obj.func();
func(obj);
のどちらのスタイルでも相互に呼び出せるようにするかもしれない
って話だけど・・・
メタプログラミングの観点から見ればどちらの表記でも呼び出せたほうが
便利なのは火を見るよりも明らかだが
それはそうとして
スタイルを統一したいって言ってる頑固な約一名は
これも統一するつもり?
つまり普通の関数やメンバ関数の呼び出しを全部
obj.func(); もしくは func(obj); に統一するつもりなのかって話
で、世の中には引数を取らない関数、例えばabort()などもあるし
fgetsみたいにFILE構造体が引数の最後に来るような変態関数もあるので
統一するならCスタイルの func(obj); になると思うわけだけど
そうすると、全部 method(obj) の形式で書くつもりか?
この書き方だとエディタの補完が効かないので激しく作業効率が悪いわけだが
638:デフォルトの名無しさん
16/09/09 11:50:58.44 CsE6YZtW.net
>>627
メリットはないだろうね
639:デフォルトの名無しさん
16/09/09 11:52:48.11 kBQSHV64.net
>>627
4文字って何って話だよ
640:デフォルトの名無しさん
16/09/09 11:57:16.30 CsE6YZtW.net
スタイルの統一ってメタプロのためでしょ?
普通に書く場合はどっちだっていいし、見た目の統一なんてさらに気にするポイントじゃないし。
641:デフォルトの名無しさん
16/09/09 12:01:21.07 xpG9Ka1d.net
というかそもそも、
統一しなくてもよいように、そのために
どちらの表記でもよいようになっている
もしくはそうする予定なのに
統一する意味あんの?
642:デフォルトの名無しさん
16/09/09 12:08:44.98 G0RBn0pa.net
>>629
autoが4文字だろ?
これより長いstd::basic_string<char,std::char_traits<char>,std::allocator<char>>とかなら
autoにすると短くすっきりするが、
4文字より短い例えばintをautoにしてもそういう効果がないばかりか
厳密には1文字損してるだろって話だよ
643:デフォルトの名無しさん
16/09/09 12:09:29.33 G0RBn0pa.net
アンカー間違えた
s/>>629/>>630/gっと
644:デフォルトの名無しさん
16/09/09 12:12:46.72 kBQSHV64.net
>>633
float f();
を
auto f() ->float;
って書いたら一文字損してるって思うの?
どういう計算???
645:デフォルトの名無しさん
16/09/09 12:21:26.23 G0RBn0pa.net
>>635
逆だよ
それは1文字得してる
646:デフォルトの名無しさん
16/09/09 12:26:40.05 kBQSHV64.net
何言ってるのかわかんねー
文字の数を数えれないのかな…
647:デフォルトの名無しさん
16/09/09 12:27:41.92 G0RBn0pa.net
std::basic_string<char,std::char_traits<char>,std::allocator<char>>とかなら
autoにすると短くすっきりする
↑
これの意味わかる?
648:デフォルトの名無しさん
16/09/09 12:36:32.00 kBQSHV64.net
>>638
戻り値の型がそれだったとして
trailing-return-typeを使うと文字数は6文字(autoと ->)増える事に変わりないだろ?何言ってるんだ?
649:デフォルトの名無しさん
16/09/09 12:40:28.34 G0RBn0pa.net
>>639
まさかと思ったが、やはりそういうことか
よし、おまえはtrailing-return-typeを使うな
これにて一件落着
650:デフォルトの名無しさん
16/09/09 12:49:10.42 tc9dXmwp.net
引数に依存しないならどっちだって同じさ。
->以下を省略するのは別な話
651:デフォルトの名無しさん
16/09/09 12:51:16.50 4oqKijqb.net
聞きたいんだけど引数無しのコンストラクタが無いクラスってあり?
絶対にコンストラクタで引数を入れないといけない
652:デフォルトの名無しさん
16/09/09 12:51:31.27 CB2F3RXF.net
autoが本当に役に立つのはこういうケースだな
URLリンク(okns.webcrow.jp)
変数の型が template 引数に強く依存している場合は、auto なしにコードを書くのは本当に難しくなるだろう。 例えば:
template<class T, class U> void multiply(const vector<T>& vt, const vector<U>& vu)
{
// ...
auto tmp = vt[i]*vu[i];
// ...
}
tmp の型は T と U の乗算結果になるが、それが正確に何型であるか人間の読み手が見出すのは難しい。 しかし、もちろんコンパイラは、自身が扱っている適切な
T と U が何型であるかを知っている。
653:デフォルトの名無しさん
16/09/09 12:52:12.20 CB2F3RXF.net
ageたスマン