- 1 名前:デフォルトの名無しさん(ワッチョイ 3b96-ov1m) mailto:sage [2017/07/29(土) 11:28:28.97 ID:o30VDF4g0.net]
- 次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part130 mevius.2ch.net/test/read.cgi/tech/1490917669/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 echo.2ch.net/test/read.cgi/tech/1478440682/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) - VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 231 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 20:56:12.81 ID:COEJtZVq0.net]
- >>227
横からだけど俺もそれに同意だ 余分な抽象化は単に工数が増えるだけ しかしなんで"貪欲"な標準化委員会はプロパティは入れないんだろな
- 232 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 21:04:28.96 ID:dxaP++Hz0.net]
- プロパティ導入したら、なんかいいことあるの?
- 233 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 21:13:44.10 ID:CYQ4BtpJ0.net]
- >>227
クラス変数って何?
- 234 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 21:18:39.19 ID:BxNeEQM2M.net]
- >>229
変数そのものがバッキングフィールドにカプセル化されることで、変数へのアクセスを必ずメソッド経由にできる
- 235 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 21:46:13.74 ID:dxaP++Hz0.net]
- >>231
バッキングフィールドってメンバ変数をprivateにすれば今でも同じことできるんじゃね?
- 236 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:05:33.19 ID:q1PzJh5lM.net]
- 地味に嬉しいのは既存のパブリックメンバ変数にアクセスしてるコードを変更せずに処理を追加できること
- 237 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:30:23.44 ID:uMve0U0S0.net]
- >>232
privateな変数はclass内からアクセスし放題だけど、バッキングフィールドはアクセッサ経由以外では絶対に触れない
- 238 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:34:14.35 ID:ONlIaE3KM.net]
- c++erは厳しくしつけられているので、既存のpublicメンバがそもそも存在しない
- 239 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:35:33.43 ID:uMve0U0S0.net]
- >>235
これは正しい
- 240 名前: []
- [ここ壊れてます]
- 241 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:36:16.75 ID:ONlIaE3KM.net]
- おっと変数が抜けた
- 242 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:58:36.57 ID:D8nSL4rC0.net]
- >>233
逆にそれが入らない原因なのでは? 軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、 見た目分かるようにしろってのがC++の流儀なんだろ。 俺はあった方がいいと思うけどね。 速度チューニングでこの手のマイクロマネージメントは全く意味がないから。
- 243 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 22:59:26.20 ID:UHwuUWMX0.net]
- publicなメンバが一つもなかったらそもそもインスタンスを構築できないのでは…
- 244 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:02:04.62 ID:UHwuUWMX0.net]
- >>238
メンバ変数の公開よりもアクセサーを設けてインライン展開してもらう方がC++の思想的に望ましいのでは…
- 245 名前:239 mailto:sage [2017/08/22(火) 23:02:59.41 ID:UHwuUWMX0.net]
- スマンfriendを使えば良いのか…
- 246 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:13:00.45 ID:zLx3ukqP0.net]
- >軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、
>見た目分かるようにしろってのがC++の流儀なんだろ。 C++って、それを判断するのが最も困難な部類の言語だと思うが。
- 247 名前:デフォルトの名無しさん [2017/08/22(火) 23:20:46.21 ID:NIldwpVs0.net]
- set/get用のデータメンバをちまちま用意するという
狭い考えに限定してきやがる思考妨害アイテムは無用
- 248 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:28:17.57 ID:D8nSL4rC0.net]
- >>240
それはオブジェクト指向の理想。C++はそっちを向いていない。 >>242 いや簡単な部類の言語だ。
- 249 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:37:15.06 ID:+MsUtw+Or.net]
- ほう、ではこのプログラムがC++17で何回ムーブが行われるかわかるかね?
auto f() { struct C{int m;}; return C{}; } auto c = f();
- 250 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:37:39.41 ID:CYQ4BtpJ0.net]
- はいはい属性の抽象化属性の抽象化
- 251 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:39:19.18 ID:CYQ4BtpJ0.net]
- >>245
0回
- 252 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:41:09.40 ID:+MsUtw+Or.net]
- 残念
0回または1回 因みに確認のためにムーブコンストラクターを追加すると0回に変わる
- 253 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:49:21.67 ID:+MsUtw+Or.net]
- ということで、見た目で判断することは難しいのではないかと
- 254 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 00:09:19.34 ID:CuDbJhab0.net]
- つかお前ら他言語使ってないだろ。
逆に言えばC++はその程度の精度での見積もりが出来る、ということなんだよ。 GC言語なんてGCがどこで走るか予測不能だから、実行時間の保証なんて全く出来ないし、 JIT言語はJIT側にその最適化が入っているかどうかで全く速度が変わってしまう。 つまりJava/C#/JavaScript等はその精度での見積もりはそもそも不可能なんだよ。 それとは別に、C++はその辺の仕組みがかなり複雑になっているのは認めるが、 それでも他言語と比べたら精度高く見積もれる方だよ。 getterを使った場合の問題は、それが見積もりにくくなることと、 あまりに多用するとどこで処理しているのか分かりにくくなる点だが、 まあ、適切に使っている限りはかなり使える機能だから、有った方が便利なんだけどね。 だから普通に考えれば「貪欲」なら当然入れるべきだし、 むしろラムダより先に入れるべきだが、入れないんだから何か引っかかってんでしょ多分。
- 255 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 00:16:20.92 ID:Cw77BvbJ0.net]
- >>248
?
- 256 名前:はちみつ餃子 mailto:sage [2017/08/23(水) 02:11:33.58 ID:wuLlGfOo0.net]
- getter がただの変数アクセスに被せてあるだけならまともなコンパイラなら最適化で消えるから速度的なペナルティはゼロだよ。
- 257 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 07:57:53.52 ID:KTb6BBkr0.net]
- a = 1;
こんなコード片で、aの型がプリミティブ型かconstr(int)/operator=(int)を持つクラスなのかによって 実際に実行される処理内容が違う時点で >軽い処理(public変数)なのか重いかもしれない処理(関数呼び出し)なのか、 >見た目分かるようにしろってのがC++の流儀なんだろ。 そんなものないとわかるだろう。 それににしても、そこからGCのオーバーヘッドに話が
- 258 名前:飛ぶのはさすがにアクロバティックすぎるw
実実行時間の話なら、マルチスレッドの非リアルタイムOS上のプログラムはどれも正確な見積もりなどできん。 [] - [ここ壊れてます]
- 259 名前:デフォルトの名無しさん [2017/08/23(水) 08:29:43.04 ID:kvkWqUxa0.net]
- プリミティブ型? ああJava訛りね、C++用語はISO/IEC14882:2011 3.9.1に規定あるから
a = 1; がビルトインの代入か、トリビアルのoperator=か、 ユーザー定義のoperator=か、コンストラクタを呼び出すか、 コピーかムーブか、読めない人はC++には向いてないので無理しなくていいよ 要するにアセンブラ苦手なんだろ マルチスレッドでもタイムクリティカルとか割り込みマスクとかあるしね 別にRTOSに限ったことじゃなく
- 260 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 11:11:46.28 ID:KtaXakwM0.net]
- >>254
オメーは何が言いてえんだw 無意味に反論するんじゃねえよ だからアホだって言われるんだよ
- 261 名前:デフォルトの名無しさん [2017/08/23(水) 12:25:37.91 ID:kvkWqUxa0.net]
- C++を批判するには
おまえ足んねーものが 多すぎつってんだよ
- 262 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 18:58:23.34 ID:HlA0mWJs0.net]
- C++ 標準委員会のドワンゴ江添は、職務質問の手荷物検査を拒否したら、
警官10人に、現場で1時間半以上、拘束されたらしい 捜査でもない、任意の行政処分なのにw それで東京都を訴えた
- 263 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:16:52.69 ID:Rd2CDMDCM.net]
- >>254
> a = 1; がビルトインの代入か、トリビアルのoperator=か、 > ユーザー定義のoperator=か、コンストラクタを呼び出すか、 > コピーかムーブか、読めない人 それがわかったからと言ってなんになるんだ? 定義が常に読めるとは限らんだろ > 要するにアセンブラ苦手なんだろ 逆アセしてでも読めとか言ってるなら単なる老害のアホ
- 264 名前:デフォルトの名無しさん [2017/08/23(水) 22:25:37.71 ID:kvkWqUxa0.net]
- >>258
ほーお、おまえさんは定義が読めないと判断できないのか 普通の人は宣言まで読めれば判断できるんだがw 逆汗読まないほうがバカガキ バカガキからみて普通の人は老害というだけ
- 265 名前:はちみつ餃子 mailto:sage [2017/08/24(木) 00:52:21.94 ID:MQSUCcmg0.net]
- そうか。
- 266 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 07:16:54.28 ID:uGClSq1gM.net]
- 老害だと思ってたら基地害だったと言うオチかよ w
- 267 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 07:27:59.03 ID:kJk0ElnZ0.net]
- 熱いなプロパティ
はやく標準化されればいいのに
- 268 名前:デフォルトの名無しさん [2017/08/24(木) 10:04:23.28 ID:VdsYrxcW0.net]
- いらね
- 269 名前:デフォルトの名無しさん [2017/08/24(木) 11:04:12.57 ID:h3Bt5TkH0.net]
- プロパティじゃないと出来ないことってなになの
- 270 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 11:21:59.10 ID:ItTZCijS0.net]
- 見た目だけじゃね?
- 271 名前:デフォルトの名無しさん [2017/08/24(木) 11:45:56.43 ID:VdsYrxcW0.net]
- IDEがやれば済むこと
わざわざ言語に入れる必要なし!
- 272 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 12:19:36.07 ID:TzTK1OIfM.net]
- メンバ変数と関数の呼び出し統一化。
いらんというのは同意。
- 273 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 14:05:25.76 ID:5zDLSTW70.net]
- オブジェクトの状態と操作の区別
関数でも代用できてしまうけど、変数のように扱えるってのが大きい 変数のような使い方で処理を挟める、これはPublicなメンバ変数では出来ない
- 274 名前:デフォルトの名無しさん [2017/08/24(木) 14:20:51.13 ID:VdsYrxcW0.net]
- できるよバーカ
C++98より前、ARM C++の時代から
- 275 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 17:42:35.34 ID:hLrI3YRl0.net]
- たしかに、operator()とoperator=があればできそうではある
- 276 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:28:45.68 ID:dK94ZXMf0.net]
- >>269
どうやって?コードよろ
- 277 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:48:22.87 ID:hLrI3YRl0.net]
- ARMだとテンプレート
- 278 名前:ネいから、メンバ変数にしたい型ごとにラッパークラス作らないいけないから大変そう []
- [ここ壊れてます]
- 279 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:52:57.63 ID:4nWMkj3x0.net]
- 質問ですが
std::string str("abcdefghi"); // (*1) str.resize(8); // (*2) size_t len = strlen(str.c_str()); // <-- "abcdefgh\0"の長さが返る (*3) となるのですが、(*3)の時点でできる終端NUL文字"\0"って、 いつのタイミングでどこの領域に確保されるのですか、
- 280 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:54:42.67 ID:4nWMkj3x0.net]
- 訂正
×:、(*3)の時点でできる ○:、(*3)の時点でできている
- 281 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 19:23:39.06 ID:hLrI3YRl0.net]
- ARMテンプレートあったわ。失礼
- 282 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 20:00:39.22 ID:kJk0ElnZ0.net]
- >>270
そのスマートオブジェクトをメンバ変数にした場合、一々親へのポインタをそのスマートオブジェクトに記憶してやらんといけないからすごく面倒なのだよ プロパティはその点何の束縛もないから良いのだ
- 283 名前:デフォルトの名無しさん [2017/08/24(木) 20:11:18.34 ID:VdsYrxcW0.net]
- >>272
アフォwww template と try catch それと typeid はARMで新設されたんだよ おまえ多重継承だけだと思ってんだろ
- 284 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 20:14:15.85 ID:G5OnAPYO0.net]
- >>273
*1の時点であるよ
- 285 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 20:17:27.08 ID:LSCbdyW40.net]
- >>273
(*2)の時点で 'i' があった場所に置かれる、 と素朴に思ってた
- 286 名前:デフォルトの名無しさん [2017/08/24(木) 20:39:47.98 ID:oFKMCsHnd.net]
- 🐒
- 287 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:28:30.26 ID:YTCHjYE8M.net]
- >>273
(*2) の時点で新規領域に abcdefgh をコピーしてその後に \0 を置く
- 288 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:29:59.02 ID:G5OnAPYO0.net]
- 新規領域もコピーもないでしょ
- 289 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:33:49.00 ID:4nWMkj3x0.net]
- コピーが生じないんだとしたら、
std::string::size()はいつも1バイトだけサバを読んだ値を返すってこと?
- 290 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:34:29.37 ID:G5OnAPYO0.net]
- せやで
- 291 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:35:38.05 ID:4nWMkj3x0.net]
- なのか
- 292 名前:270 mailto:sage [2017/08/24(木) 22:02:35.81 ID:oFKMCsHnd.net]
- プロパティはこれじゃアカンの?
https://wandbox.org/permlink/a1fqVzyPCHgFeNjc
- 293 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:12:47.64 ID:4nWMkj3x0.net]
- Windows Phoneの開発で使うC++/CXにはpropertyが構文でサポートされているで
ていうかpropertyがあることが存在意義な感じ?(ネイティブなC++は別にあってそれはそれで利用可能
- 294 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:15:25.24 ID:4nWMkj3x0.net]
- データメンバ直アクセスでなくてpropertyにすると良いことがあるというのは
マーシャリングを裏で勝手にやって来る点
- 295 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:28:47.63 ID:TzTK1OIfM.net]
- メンバ関数でいいじゃん。ということだろ。
- 296 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:34:36.32 ID:4nWMkj3x0.net]
- |
| ('A`) .oO(名前考えるのマンドクセ / ̄ノ( ヘヘ ̄ ̄ ̄ /
- 297 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:54:26.67 ID:TzTK1OIfM.net]
- 0変数:getter, 1変数:setter, 尻尾付き:メンバ変数
とかは良くやるな
- 298 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:06:28.73 ID:w8QRZZ7K0.net]
- >>287
それ以前のVC++/CLIからサポートされてる。 >>286 駄目。 propertyは新規機能ではなく、見た目だけの問題だから、 逆に言えば、見た目がpropertyで書いた時より分かりにくいようなら駄目なんだ。 ほぼ同じ事はラムダとファンクタでもそうだけど。
- 299 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:10:22.03 ID:hVYhQQjP0.net]
- >>268
オペレーターのオーバーライドとにたような感じになると思うけど、その挟み込む処理の重さが隠蔽されてしまうという問題があって、一般には、非推奨だとおもうのだけど今はかわってきてるのかね? たとえば、代入しているだけだとおもったら、実
- 300 名前:はファイルアクセスまでしてたとかかな。 []
- [ここ壊れてます]
- 301 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:19:32.01 ID:4dE2HuPo0.net]
- >>293
>258理論によれば、老害じゃなければ一目で処理の重さがわかるんじゃね もっとも処理の重さに関するC++の不透明さに警戒を抱くことを老害とするならば、 カーニハンやリッチーも老害にカテゴライズされてしまうが
- 302 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:49:30.90 ID:w8QRZZ7K0.net]
- >>294
K&Rというか生Cが嫌っている理由は「余計なことをするな」だ。 適切に使っている限りC++は不透明ではない。それでも彼等は嫌うだろ。 >>293 横だが結局は使い方次第だよ。C++はいくらでも読みにくいコードを書けるから。 ただ、きちんと使えば有用な機能だよ。 演算子オーバーロードについてはgoogleは「慎重にやれ」だね。 https://ttsuki.github.io/styleguide/cppguide.ja.html#Operator_Overloading どうでもいいが、何故演算子は「オーバーロード」なんだ? 言われてみれば「オーバーライド」の方が適切な気がする。
- 303 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 02:45:57.11 ID:g+9HiqWa0.net]
- >>293
それは言語機能の問題じゃなく実装の問題じゃない? propertyってメンバ変数がどうなっているかに関わらずオブジェクトの状態を表すもの 言語機能の話をしているのであって 既存の機能をやりくりして似たことは出来るって言われてもって感じ
- 304 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 04:18:10.56 ID:4FaT6XJy0.net]
- 「処理の重さを隠蔽するな」なんて思想がそもそもあるのかね?
- 305 名前:デフォルトの名無しさん [2017/08/25(金) 05:23:39.04 ID:RGmsOxnq0.net]
- >>295
オーバーロードは新設で、たいていのoperatorがこっち オーバーライドは変更で、代入やnewが本当はこっち
- 306 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 06:02:53.19 ID:sj2/Y28y0.net]
- property ってパブリック変数とどう違うの?
- 307 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 06:53:00.86 ID:s9vD7wq8M.net]
- >>294
> >258理論によれば、老害じゃなければ一目で処理の重さがわかるんじゃね どこにも「わかる」って書いてないのにどんなアホ解釈したらそんな結論になるんだよ w
- 308 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 06:55:30.90 ID:s9vD7wq8M.net]
- >>295
> どうでもいいが、何故演算子は「オーバーロード」なんだ? > 言われてみれば「オーバーライド」の方が適切な気がする。 オーバーロードとオーバーライドの違いもわかってないの? まあ>>298も色々おかしいが
- 309 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 07:02:27.63 ID:g3SOHHgl0.net]
- オーバーロードってモモンガ
- 310 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 07:24:58.66 ID:crVCqQ4J0.net]
- https://ideone.com/CUMjUp
qiita.com/a-beco/items/7709ab80a05ea2d09ea8#%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E5%BC%95%E6%95%B0%E3%81%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%92%E4%B8%8E%E3%81%88%E3%82%8B なんか通った。プロパティですよ? こんなかんじでいいのかな? 何で動いてるのかよくわからん。Orz
- 311 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 07:49:18.88 ID:4dE2HuPo0.net]
- >>300
>>254〜>>258の流れをa=1;の実行速度が一目見てわかるのかどうかという問題提起の意味に解釈すた、 パフォーマンスを読みきるには何の言語であれボトルネック(ループ回数×1回の実行時間が最大の処理)の特定が必要だが C++は演算子のオーバーロードとかインライン展開とかテンプレートがそれ以前の障害として立ちはだかる点がCより重症 パフォーマンスを上げるための手段を豊富に提供してプログラムを書く人の選択に委ねているみたいな? つまりC++はソースコードのROM専はお断りな言語 >>295 スマン言いたかったのはK&Rではなくてカーニハンとロブ・パイクやったorz 『プログラミング作法』の第7章「性能」のところにC++の特性について(CやJavaとの比較が)
- 312 名前:書かれていた希ガス、
(目次)ttps://tatsu-zine.com/books/practice-of-programming ちな本は売ったから手元に無い >>297 本来のK&Rがまさにそれなのでは… Unixの移植目的で作られた言語なので、移植性と意図通りのアセンブリコードに落ちること (ソースコードからアセンブリコードが透けて見えること)の両立が着手時点の第一優先だったはず 故に生ポインタが言語の前面に出てきてインクリメント/デクリメントがそれぞれ2種類あった [] - [ここ壊れてます]
- 313 名前:デフォルトの名無しさん [2017/08/25(金) 08:42:44.14 ID:XasQqnRJ0.net]
- >>298
いや、new もオーバーロードでしょ。
- 314 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 08:51:39.36 ID:crVCqQ4J0.net]
- newはオペレーターじゃないの?
- 315 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 08:53:26.21 ID:mWX/padLd.net]
- いやいや、newは新しいって意味
- 316 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 09:08:17.73 ID:crVCqQ4J0.net]
- 新しくメモリのようなものを持って来るってことでしょ。
言語上ではオペレーターじゃないの?
- 317 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 09:09:11.80 ID:mWX/padLd.net]
- オペレーターかどうかの議論なんて誰もしてない
- 318 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 09:11:08.77 ID:crVCqQ4J0.net]
- オペレータはオーバーロードするもんじゃね?
まぁいいか。
- 319 名前:デフォルトの名無しさん [2017/08/25(金) 09:52:04.11 ID:RGmsOxnq0.net]
- >>305
「本当は」って書いてるだろ # 流れを読んでない近視眼的なアフォどもは無視
- 320 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 09:54:07.34 ID:mWX/padLd.net]
- 「本当は」とは?
C++の規格? 本来の英語の意味?
- 321 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 09:55:05.21 ID:mWX/padLd.net]
- 突然「本当は」とか書いても、どういう意味でどういう意図で書いたかなんてわからんぞ
- 322 名前:デフォルトの名無しさん [2017/08/25(金) 10:21:51.52 ID:RGmsOxnq0.net]
- わかんなくていい
バカ以外とさえ話せれば
- 323 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 12:45:56.08 ID:s9vD7wq8M.net]
- >>304
ごちゃごちゃ書いてるけどどこから > 老害じゃなければ一目で処理の重さがわかるんじゃね が出てくるのかさっぱりわからん
- 324 名前:デフォルトの名無しさん [2017/08/25(金) 12:58:22.38 ID:BrjL74izM.net]
- >>311
いや、グローバルのオペレーターに対して、型特化を新設するんだから、newも代入も、オーバーロードでいいんだよ。って話。 c++の実現方法(クラス内定義)でイメージしちゃうから、オーバーライドと思っちゃう気持ちはわかるけど。
- 325 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 13:22:21.09 ID:2fWpITWD0.net]
- operatorを仮想関数にしたことないや
- 326 名前:はちみつ餃子 mailto:sage [2017/08/25(金) 13:27:32.63 ID:a70Vb5yP0.net]
- そうか。
- 327 名前:デフォルトの名無しさん [2017/08/25(金) 14:12:03.69 ID:RGmsOxnq0.net]
- ::operator newは新設か?
ユーザー定義するとビルトインを置き換えるだろ
- 328 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 14:14:35.88 ID:11RxMW0L0.net]
- >>319
だからオーバーライドだというの?
- 329 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 21:42:16.87 ID:0c3f6Usc0.net]
- そういえば昔C++のoperator批判を見たなと思って探してみたらこれだった。
local.joelonsoftware.com/wiki/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
- 330 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 22:11:25.23 ID:IbGqUCQq0.net]
- operatorをオーバーライドしてる人いるみたいだけど、operatorを仮想関数にするのってどういう時なの?
- 331 名前:片山博文MZ mailto:sage [2017/08/25(金) 22:17:04.37 ID:M7y+0IYNd.net]
- >>322
ポインタから多態を利用じゃねーの?
|

|