トップページ > プログラム > 2017年03月18日 > YXP7lJmh0

書き込み順位&時間帯一覧

9 位/253 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000021002110000007



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 838b-UnlH)
C++相談室 part129 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part129 [無断転載禁止]©2ch.net
664 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 11:43:31.57 ID:YXP7lJmh0
ていうか仮想関数(による多態性)とテンプレート(によるfunctor)がどっちも使える状況で
どうしてもメンバ関数のアドレスをとる必要があるというシチューエーションとは一体、
ちなメンバ関数のアドレスをとる構文は覚えていない
主記憶にございません
C++相談室 part129 [無断転載禁止]©2ch.net
665 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 11:45:58.26 ID:YXP7lJmh0
誤:テンプレート(によるfunctor)
正:テンプレート(へのfunctorとかクロージャ渡し)
C++相談室 part129 [無断転載禁止]©2ch.net
667 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 12:41:56.92 ID:YXP7lJmh0
f.calc(x, 2)をfunc(x)として呼びたいためだけにstd::bind()を使うのはメリット感に欠ける…
C++相談室 part129 [無断転載禁止]©2ch.net
699 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 15:49:31.59 ID:YXP7lJmh0
JavaScript…
あれはインスタンスしかないみたいな似非^2オブジェクト指向じゃん?
あまりの酷さに批判が高まったのか、エッセンス6とかでprototypeキーワードが導入されたが
それぐらいのもん

ちなC++の話として、クロージャはあんま継承関係無い
f.calc(x, 2)をfunc(x)の如く扱いたければfの所有でおk
C++相談室 part129 [無断転載禁止]©2ch.net
700 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 15:55:28.34 ID:YXP7lJmh0
個人的にはstd::bind(&F::calc, f, _1, 2)ですらF::calcの直接callに最適化されずに、
間接メモリアドレッシング後のcall止まりになるんではないかと危惧してゐる
テンプレートを使える環境にありながら
関数へのポインタなど使うのは教育上によろしくない
C++相談室 part129 [無断転載禁止]©2ch.net
704 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 16:35:15.55 ID:YXP7lJmh0
>> 個人的にはstd::bind(&F::calc, f, _1, 2)ですらF::calcの直接callに最適化されずに、
>というかこれを期待するのがC++なのか?
>それはさすがに厳しいとは思うが、確かに無理ではないが。
できる
F:calc()は仮想関数では無いし、
表記の例では&F:calc自体が(F::calc()と同じシグネチャを持つ別名の関数とかに)差し替えられはしないので
本質的には直接callとなるべきもの
C++相談室 part129 [無断転載禁止]©2ch.net
709 :デフォルトの名無しさん (ワッチョイ 838b-UnlH)[sage]:2017/03/18(土) 17:59:03.48 ID:YXP7lJmh0
>それを言いだしたら全部だろ。そうなってないから色々問題なわけで。
std::bind(&F::calc, f, _1, 2)という記述を見たコンパイラはポインタが関係するのでF::calc()を直接呼出しして良いものか迷うかもしれないが、
std::bind(<F::calcを表す関数オブジェクト>, f, _1, 2)なら
std::bind()自体の書き方や関数オブジェクトの書き方がよほどアレでない限りはF::calc()直接呼出し相当のコードになる
全部一緒というなら一緒なんだろう藻前の中では(ry


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。