※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/
テンプレここまで
探検
C++相談室 part154
■ このスレッドは過去ログ倉庫に格納されています
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
790蟻人間 ◆T6xkBnTXz7B0
2021/02/20(土) 19:27:14.79ID:VmESNyRi >>771
> array<T> a を vector< vector<T> > b に n 要素分コピーしたいときって
> memcpy(b.data(), a.data(), n*sezeof(T))
> で良いんですかね?
待てよ、b.data()って&b[0]だから型はvector<T>*だろ。書き換えたらいけないアドレスじゃん。
ダメです。
> array<T> a を vector< vector<T> > b に n 要素分コピーしたいときって
> memcpy(b.data(), a.data(), n*sezeof(T))
> で良いんですかね?
待てよ、b.data()って&b[0]だから型はvector<T>*だろ。書き換えたらいけないアドレスじゃん。
ダメです。
791蟻人間 ◆T6xkBnTXz7B0
2021/02/20(土) 19:49:01.06ID:HfYkFRCd C++のvectorでは、演算子[ ]がオーバーロードされてるから、C言語の常識が通用しないんだよ。
memcpyは危険な関数だから簡単にメモリー破壊できるんだよね。
std::vector v;
int a = 5;
memcpy(&v, &a, sizeof(a)); // vのメモリー破壊。
memcpyは危険な関数だから簡単にメモリー破壊できるんだよね。
std::vector v;
int a = 5;
memcpy(&v, &a, sizeof(a)); // vのメモリー破壊。
792デフォルトの名無しさん
2021/02/20(土) 20:38:26.44ID:PUIofNKd >>791
流石にそれは質問者のレベルにも達してないんで問題外
流石にそれは質問者のレベルにも達してないんで問題外
793デフォルトの名無しさん
2021/02/20(土) 20:44:29.23ID:Rkd/h2tQ 別にここで何が正しいかを結論できなくてもいいのだが
>>776
そう言うなら「推移的かつ反射的であるのみの順序関係」が「弱順序」と書いてある本を
教えてくれる?
手元になかったらうろ覚えでもいいけど。〇〇の××先生がそう言ってたみたいのでもいいw
知識として一応確認しておきたいかなと。
>>776
そう言うなら「推移的かつ反射的であるのみの順序関係」が「弱順序」と書いてある本を
教えてくれる?
手元になかったらうろ覚えでもいいけど。〇〇の××先生がそう言ってたみたいのでもいいw
知識として一応確認しておきたいかなと。
795デフォルトの名無しさん
2021/02/20(土) 21:44:52.70ID:K0wy5MAI std::vector v(sizeof(int));
int a = 5;
memcpy(&(v[0]), &a, sizeof(a)); // おk
int a = 5;
memcpy(&(v[0]), &a, sizeof(a)); // おk
796デフォルトの名無しさん
2021/02/20(土) 21:47:14.25ID:K0wy5MAI つかこうかorz
std::vector<int> v((size_t)1);
const int a = 5;
memcpy_s(&(v[0]), sizeof(v[0]) * v.size(), &a, sizeof(a));
std::vector<int> v((size_t)1);
const int a = 5;
memcpy_s(&(v[0]), sizeof(v[0]) * v.size(), &a, sizeof(a));
797蟻人間 ◆T6xkBnTXz7B0
2021/02/20(土) 21:58:40.54ID:HfYkFRCd この場合は素直にループを書くか、それとも格好良くstd::copy使うのが楽かな。
798デフォルトの名無しさん
2021/02/21(日) 01:26:13.27ID:G4m9GHw4 for文回したら死ぬ病気にでもかかってんのか?
799デフォルトの名無しさん
2021/02/21(日) 01:29:00.28ID:oO8KGr2m 条件を満たすならmemcpyのほうが圧倒的に早いからな
800はちみつ餃子 ◆8X2XSCHEME
2021/02/21(日) 01:32:42.66ID:jd0qgVVy それほど速くならない・速くなくていい場合のほうが圧倒的に多いってのもあるけどな。
801デフォルトの名無しさん
2021/02/21(日) 03:13:29.79ID:ZrTKdY4P そもそもそんなクソみたいなコードはふつう書かない
802770
2021/02/21(日) 03:54:49.57ID:HYHVDYIS >>780
IFooっていう名前からしてインターフェースってJava/C#的な意味でのそれだと思ってたけど
それならポインタなり参照なりじゃないと機能してないよっていうかコンパイルエラーでしょってツッコミ
IFooっていう名前からしてインターフェースってJava/C#的な意味でのそれだと思ってたけど
それならポインタなり参照なりじゃないと機能してないよっていうかコンパイルエラーでしょってツッコミ
803デフォルトの名無しさん
2021/02/21(日) 03:58:42.63ID:0HHdBuLy メモリコピーを最適化する前に、他にすべきこと沢山あるだろ的な答えになるよな、確かに。
PG界の真理情報だわ。
PG界の真理情報だわ。
804デフォルトの名無しさん
2021/02/21(日) 05:11:43.88ID:L28MHLBD valarrayでxorとか
805デフォルトの名無しさん
2021/02/21(日) 07:43:27.01ID:F92hI73d806デフォルトの名無しさん
2021/02/21(日) 07:51:19.71ID:F92hI73d じゃなかったorz
Foo::Foo(const Foo& src) { (srcを変更して新しいインスタンスを初期化) }
はconst_cast<Foo>的な危険手段でないとやれないが
Foo::Foo(Foo& src) { (srcを変更して新しいインスタンスを初期化) }
とするとなんかコンパイラが警告を出すから
Foo::Foo(Foo&& src) { (srcを変更して新しいインスタンスを初期化) }
にせざるおえないという、
Foo::Foo(const Foo& src) { (srcを変更して新しいインスタンスを初期化) }
はconst_cast<Foo>的な危険手段でないとやれないが
Foo::Foo(Foo& src) { (srcを変更して新しいインスタンスを初期化) }
とするとなんかコンパイラが警告を出すから
Foo::Foo(Foo&& src) { (srcを変更して新しいインスタンスを初期化) }
にせざるおえないという、
807デフォルトの名無しさん
2021/02/21(日) 13:21:42.30ID:Dqlg3tSu 関数と関数オブジェクトってどう使い分けるの?
808デフォルトの名無しさん
2021/02/21(日) 13:30:17.46ID:YxY+Ievf こういう馬鹿にはちゃんとベンチマークとれって言ってやるのが正しい行い。
809デフォルトの名無しさん
2021/02/21(日) 14:32:16.15ID:HYHVDYIS >>805
そんなこと聞いてるんじゃなくて
提示されたコード片じゃどう考えても動かないから何したいか分からんのよ
https://wandbox.org/permalink/ancQey3IkQKyWsu1
こっから始めてどこをどうしたいか教えてくれ
そんなこと聞いてるんじゃなくて
提示されたコード片じゃどう考えても動かないから何したいか分からんのよ
https://wandbox.org/permalink/ancQey3IkQKyWsu1
こっから始めてどこをどうしたいか教えてくれ
810デフォルトの名無しさん
2021/02/21(日) 14:47:26.80ID:9WgNecVw 404 Not Found
811デフォルトの名無しさん
2021/02/21(日) 15:33:36.83ID:HYHVDYIS812デフォルトの名無しさん
2021/02/21(日) 16:21:41.69ID:u2qGdVDT 過疎ってるし、初心者どころかJavaの質問でもOKでは?
>>807
この質問に対して回答をつける用意がありますが、しばしお待ちを
この質問に対して回答をつける用意がありますが、しばしお待ちを
>>807,813
昔のコードを今読んでみたんですが、実のところ関数オブジェクトにする必要性があったかどうか、今の価値観のもとでは首をかしげています
数値計算のプログラムって、無自覚にバンバン書いてると例えばルンゲ食ったをやっているとこと他とかが混ざり合って収拾がつかなくなる、と思って関数オブジェクトにアイソレートした記憶があって、それを思い出して読んでみたんですけれども、今読んでみても、なんだか、ねえ‥‥
https://mevius.5ch.net/test/read.cgi/tech/1434079972/72
昔のコードを今読んでみたんですが、実のところ関数オブジェクトにする必要性があったかどうか、今の価値観のもとでは首をかしげています
数値計算のプログラムって、無自覚にバンバン書いてると例えばルンゲ食ったをやっているとこと他とかが混ざり合って収拾がつかなくなる、と思って関数オブジェクトにアイソレートした記憶があって、それを思い出して読んでみたんですけれども、今読んでみても、なんだか、ねえ‥‥
https://mevius.5ch.net/test/read.cgi/tech/1434079972/72
815デフォルトの名無しさん
2021/02/21(日) 20:07:12.76ID:F92hI73d >>809
Fooはこんなやつ、
https://ideone.com/mPPH8I
IFooは、C++ではよく考えたらIFooのオブジェクトを直接生成できないので(>>802の仰せの通り
std::shared_ptr<IFoo>とかで生成することを考えたのだがエラーになるorz
(上のリンク先のコードでコメントアウトしてあるgenerate_IFoo()
思いのほか闇が深かった\(^o^)/
std::shared_ptr<IFoo>が生成できた暁には、
std::shared_ptr<IFoo> pがリソースの所有権を握ったFooを保持しているとき、
std::shared_ptr<IFoo> qというのがいるとして、
*q = *p
で所有権を*pから*qに渡したり、
return *p
で呼び出し元が所有権を有するFooを受け取れるようにしたいワケ
Fooはこんなやつ、
https://ideone.com/mPPH8I
IFooは、C++ではよく考えたらIFooのオブジェクトを直接生成できないので(>>802の仰せの通り
std::shared_ptr<IFoo>とかで生成することを考えたのだがエラーになるorz
(上のリンク先のコードでコメントアウトしてあるgenerate_IFoo()
思いのほか闇が深かった\(^o^)/
std::shared_ptr<IFoo>が生成できた暁には、
std::shared_ptr<IFoo> pがリソースの所有権を握ったFooを保持しているとき、
std::shared_ptr<IFoo> qというのがいるとして、
*q = *p
で所有権を*pから*qに渡したり、
return *p
で呼び出し元が所有権を有するFooを受け取れるようにしたいワケ
816デフォルトの名無しさん
2021/02/21(日) 20:09:12.28ID:F92hI73d ちなみにWandboxでソースコードをフォークする方法は
初心者なので
わかり
ません
初心者なので
わかり
ません
817デフォルトの名無しさん
2021/02/21(日) 20:14:47.49ID:LxNhpnKU generate_Foo()がコケてるのはnewのところでFooのコピコンがないだけだろ
コピコン書くか、ムーコン使いたいならnew Foo(std::move(foo3))にすればいいだけ
後半も意味不明
*q = *pってそれスライシングだぞ
コピコン書くか、ムーコン使いたいならnew Foo(std::move(foo3))にすればいいだけ
後半も意味不明
*q = *pってそれスライシングだぞ
818デフォルトの名無しさん
2021/02/21(日) 20:23:47.49ID:F92hI73d819デフォルトの名無しさん
2021/02/21(日) 20:26:48.03ID:F92hI73d ちょっと補足すると、IFooには現状代入手段が無いから、
*q = *pはそもそもコンパイルが通ることはなく、目的とする機能を形而上的に表す仮想コード
のつもり
*q = *pはそもそもコンパイルが通ることはなく、目的とする機能を形而上的に表す仮想コード
のつもり
820デフォルトの名無しさん
2021/02/21(日) 21:03:58.63ID:+My/Unlg >>814
処理を意味でまとめるようなことなら積極的にやるべきだと思いますが、それは関数オブジェクトじゃなくて関数でもできますよね?
処理を意味でまとめるようなことなら積極的にやるべきだと思いますが、それは関数オブジェクトじゃなくて関数でもできますよね?
821デフォルトの名無しさん
2021/02/21(日) 21:05:03.53ID:HYHVDYIS823デフォルトの名無しさん
2021/02/21(日) 22:29:56.45ID:LxNhpnKU >>818
shared_ptrは関係ないから普通のポインタで話するぞ(同じ事だ)
IFoo* p = new Foo();
IFoo* q = new Foo();
というのがあったとして*q = *p;ってのは何だと思う?
pとqはIFoo*型だ
だからもちろん*pと*qというのはIFoo型だ
すなわち*q = *p;というのはIFoo::operator=(const Foo&)の呼び出しだ
operator=()はvirtualにできないから、pとqが本当はFoo型オブジェクトを指してることなんか知りもしないし考慮もしない
よってIFoo部分の代入だけが行われて、要はqのIFoo部分だけが首チョンパされてpのIFoo部分が代入される
これをスライシングという
shared_ptrは関係ないから普通のポインタで話するぞ(同じ事だ)
IFoo* p = new Foo();
IFoo* q = new Foo();
というのがあったとして*q = *p;ってのは何だと思う?
pとqはIFoo*型だ
だからもちろん*pと*qというのはIFoo型だ
すなわち*q = *p;というのはIFoo::operator=(const Foo&)の呼び出しだ
operator=()はvirtualにできないから、pとqが本当はFoo型オブジェクトを指してることなんか知りもしないし考慮もしない
よってIFoo部分の代入だけが行われて、要はqのIFoo部分だけが首チョンパされてpのIFoo部分が代入される
これをスライシングという
824はちみつ餃子 ◆8X2XSCHEME
2021/02/21(日) 23:00:12.09ID:jd0qgVVy >>822
関数オブジェクトに「関数」とついているのは関数と同じ記法で呼び出せるということに意味があって、インターフェイスの問題。
状態を持った関数 (関数オブジェクト) も状態を持たない関数 (関数ポインタ) も統一的に扱えたらうれしいねって話なので、
状態を持たず、高階関数に渡すこともない場合は関数オブジェクトにする意味はないな。
(普通の関数も static 変数への参照を持ってたりする場合もあるので必ずしも状態を持たないわけではないけど。)
関数オブジェクトに「関数」とついているのは関数と同じ記法で呼び出せるということに意味があって、インターフェイスの問題。
状態を持った関数 (関数オブジェクト) も状態を持たない関数 (関数ポインタ) も統一的に扱えたらうれしいねって話なので、
状態を持たず、高階関数に渡すこともない場合は関数オブジェクトにする意味はないな。
(普通の関数も static 変数への参照を持ってたりする場合もあるので必ずしも状態を持たないわけではないけど。)
>>824,820,(>>813,814,822)
結局、どーでもいい一発芸で、ああ動くね‥‥、と思ったまま放置してましたね<関数オブジェクト
https://mevius.5ch.net/test/read.cgi/tech/1434079972/21
https://ideone.com/9KIuSD
あとはラムダ式の理解のための存在という認識、か
結局、どーでもいい一発芸で、ああ動くね‥‥、と思ったまま放置してましたね<関数オブジェクト
https://mevius.5ch.net/test/read.cgi/tech/1434079972/21
https://ideone.com/9KIuSD
あとはラムダ式の理解のための存在という認識、か
826はちみつ餃子 ◆8X2XSCHEME
2021/02/22(月) 00:10:55.10ID:oiAqsUn6 「ラムダ式が関数オブジェクト (型の定義と生成) の構文糖」というのは
既存のプログラムとの整合性を壊さない上手いアイデアだと思うけど、
しばらくしたら「関数オブジェクトはラムダ式の実体」という説明のほうが
通りがよくなったりするかもしれないね。
既存のプログラムとの整合性を壊さない上手いアイデアだと思うけど、
しばらくしたら「関数オブジェクトはラムダ式の実体」という説明のほうが
通りがよくなったりするかもしれないね。
827デフォルトの名無しさん
2021/02/22(月) 04:39:33.19ID:7qATnC1I 関数オブジェクトで状態を渡せるのは結構なんだが、コピーコンストラクタ渡しなので、
手の込んだ状態管理だった場合は結局、C言語と同じくユーザー定義変数を介して状態を読み書きすることになる。
手の込んだ状態管理だった場合は結局、C言語と同じくユーザー定義変数を介して状態を読み書きすることになる。
828デフォルトの名無しさん
2021/02/22(月) 08:23:10.03ID:Dz0hZ3aS >>827
shared_ptr使えば、大抵の場合は問題ないんじゃない?
shared_ptr使えば、大抵の場合は問題ないんじゃない?
829デフォルトの名無しさん
2021/02/22(月) 09:54:32.23ID:Y0MZ31oO >>807,820ですけどQZで始まる人あまりにもレベル低いというか回答者として不適格だと思うのでNGします
830デフォルトの名無しさん
2021/02/22(月) 10:22:59.45ID:1euWwsnd >>829
答えてもらってる立場で偉そうに。常識ないの?
答えてもらってる立場で偉そうに。常識ないの?
831デフォルトの名無しさん
2021/02/22(月) 11:11:29.17ID:M+ptXBNl いやでも実際・・・QZはね・・・
50過ぎのおっさんが無理して絡みにいってるけど空回りしてる感じなんだよね
ほんと残念だけども
50過ぎのおっさんが無理して絡みにいってるけど空回りしてる感じなんだよね
ほんと残念だけども
832デフォルトの名無しさん
2021/02/22(月) 11:36:36.23ID:7qATnC1I 関数オブジェクトに対するラムダ式の優位性は、ローカル変数を比較的安全かつ手軽に参照渡しできることだろう。
833デフォルトの名無しさん
2021/02/22(月) 12:08:03.12ID:5Ezd+ZoO あわしろ氏がQzはアカン言うてたけど、ターゲット変えたのかな?
急にその手の書き込みが増えてあからさますぎる。
急にその手の書き込みが増えてあからさますぎる。
834デフォルトの名無しさん
2021/02/22(月) 16:15:54.50ID:rpJl6SNk835デフォルトの名無しさん
2021/02/22(月) 17:04:18.35ID:M+ptXBNl 回答者には無条件で感謝しないといかんのか?
気持ち悪いな
気持ち悪いな
836デフォルトの名無しさん
2021/02/22(月) 17:39:33.90ID:rpJl6SNk >>835
感謝しろなんて言ってないぞアホ
感謝しろなんて言ってないぞアホ
837デフォルトの名無しさん
2021/02/22(月) 19:14:24.66ID:SaDkzfTf838デフォルトの名無しさん
2021/02/22(月) 19:28:11.36ID:M+ptXBNl たしかに
勝手にNGしとけば十分で煽るように宣言するは意味はまったくないね
擁護した俺が悪かったごめん
勝手にNGしとけば十分で煽るように宣言するは意味はまったくないね
擁護した俺が悪かったごめん
840デフォルトの名無しさん
2021/02/22(月) 20:02:59.96ID:5Ezd+ZoO そういう書き込みを見ると、あわしろ氏よりQzのほうが大人に見えるなあ。
まあでも、あわしろ氏には技術評論社がついてるからね。
謝っといたほうが良いんじゃないの?
まあでも、あわしろ氏には技術評論社がついてるからね。
謝っといたほうが良いんじゃないの?
841デフォルトの名無しさん
2021/02/22(月) 20:52:21.84ID:jfkpe4Eh >>834
俺も以前質問したら、明らかに見当違いなマウント取りたいだけの回答が来て、言い返した時
君みたいな事言われたよ
回答くれるのは有難いが・・・ねぇ。
まぁそういうのはスルーしろ、ってんならまだわかるけど
ちなまともな回答くれた人には礼言ってるからね
俺も以前質問したら、明らかに見当違いなマウント取りたいだけの回答が来て、言い返した時
君みたいな事言われたよ
回答くれるのは有難いが・・・ねぇ。
まぁそういうのはスルーしろ、ってんならまだわかるけど
ちなまともな回答くれた人には礼言ってるからね
842デフォルトの名無しさん
2021/02/22(月) 21:08:29.88ID:51epSMYu 知らんがな。キミの意見だけ聞いてその時どっちに問題があったかどうやって判断すればいいんだよ
843デフォルトの名無しさん
2021/02/22(月) 21:18:11.70ID:jfkpe4Eh そういう話じゃねーよ
844デフォルトの名無しさん
2021/02/23(火) 00:38:10.30ID:6MWC7t1x あるクラスのメソッドを他所で借りたいというか使いたいときって移譲(インスタンス化)するかコピペするしかないの?
845デフォルトの名無しさん
2021/02/23(火) 00:41:49.01ID:Z5ZYenTn >>844
メソッドをクラスから分離してテンプレート関数にすれば、クラスの継承関係がなくても使えるので便利。
メソッドをクラスから分離してテンプレート関数にすれば、クラスの継承関係がなくても使えるので便利。
846デフォルトの名無しさん
2021/02/23(火) 01:01:30.38ID:48JMuLBY >>844
メンバアクセスしていないならstatic関数にしてクラス名::メソッド名()で呼べる
ただメンバアクセスしていない時点でその関数は本当にそのクラスに属すべきなのか再考したほうがいいけど
あと継承する手もあるけど「借りたいから」程度の理由で場当たり的にやると確実に泥沼化する
メンバアクセスしていないならstatic関数にしてクラス名::メソッド名()で呼べる
ただメンバアクセスしていない時点でその関数は本当にそのクラスに属すべきなのか再考したほうがいいけど
あと継承する手もあるけど「借りたいから」程度の理由で場当たり的にやると確実に泥沼化する
847デフォルトの名無しさん
2021/02/23(火) 04:11:59.35ID:kBU50DXM >>846
> ただメンバアクセスしていない時点でその関数は本当にそのクラスに属すべきなのか再考したほうがいいけど
極論、引数をとって返り値を返す関数だけで全てのことが実現できますよね?
そう思ったらクラスのメソッドにするよりも何でもクラス外の関数にする方がお得というか楽な気がしてしまいます
> ただメンバアクセスしていない時点でその関数は本当にそのクラスに属すべきなのか再考したほうがいいけど
極論、引数をとって返り値を返す関数だけで全てのことが実現できますよね?
そう思ったらクラスのメソッドにするよりも何でもクラス外の関数にする方がお得というか楽な気がしてしまいます
848デフォルトの名無しさん
2021/02/23(火) 07:21:43.52ID:7kgSemXY そのとおりで極力フリー関数にするべき
(非静的)メンバ関数というのはデータメンバーの一貫性を保つためだけに使うもんだよ
(非静的)メンバ関数というのはデータメンバーの一貫性を保つためだけに使うもんだよ
849デフォルトの名無しさん
2021/02/23(火) 07:27:00.90ID:ex5XjLGm850デフォルトの名無しさん
2021/02/23(火) 08:19:26.69ID:kBU50DXM なんかOOPの行き着く先みたいな話してるな
俺も関数が引数と返り値としてメッセージを渡し合って協働していく方が洗練されてると思う
必然、その方が副作用も少ない
俺も関数が引数と返り値としてメッセージを渡し合って協働していく方が洗練されてると思う
必然、その方が副作用も少ない
851デフォルトの名無しさん
2021/02/23(火) 08:29:56.96ID:Z5ZYenTn staticなメンバ関数には、名前衝突しにくい、msvcのインテリセンスのような入力支援を得やすい、という恩恵はある。
852デフォルトの名無しさん
2021/02/23(火) 08:30:00.72ID:u3MMsI1X メッセージ・・?
何の言語の話してんだ
何の言語の話してんだ
853デフォルトの名無しさん
2021/02/23(火) 09:47:50.72ID:DwnxTU4/ オブジェクト指向の概念の話をするときにメッセージって言葉使いませんか?
C++ならメッセージ=メンバ関数
Javaならメッセージ=メソッド
言語によって呼び方が違うから概念的な話のときはメッセージといったほうが通りがよい
C++ならメッセージ=メンバ関数
Javaならメッセージ=メソッド
言語によって呼び方が違うから概念的な話のときはメッセージといったほうが通りがよい
854デフォルトの名無しさん
2021/02/23(火) 10:07:32.09ID:B3ih21Pc855デフォルトの名無しさん
2021/02/23(火) 10:15:54.38ID:gTQJYaBt > データメンバーの一貫性を保つためだけに使う
いったい何が言いたいんだろう
他人に分かり易く言えないのは自分が解ってないからというケースがある
いったい何が言いたいんだろう
他人に分かり易く言えないのは自分が解ってないからというケースがある
856デフォルトの名無しさん
2021/02/23(火) 10:18:06.26ID:B3ih21Pc > データメンバーの一貫性を保つためだけに使う
この表現で普通に分かるけど
分からん人もいるのね了解
この表現で普通に分かるけど
分からん人もいるのね了解
857デフォルトの名無しさん
2021/02/23(火) 10:20:33.46ID:NIjAanwq メッセージが何のことかわからないのはワロス
858デフォルトの名無しさん
2021/02/23(火) 10:21:51.05ID:gTQJYaBt859デフォルトの名無しさん
2021/02/23(火) 10:22:34.65ID:7kgSemXY データメンバに対して想定した扱い方だけをさせるようにして予期しない状態の発生を防ぐため、って言えばお気に召したかしら
普通はそれを短く「一貫性を保つ」って言うのだけど
普通はそれを短く「一貫性を保つ」って言うのだけど
860デフォルトの名無しさん
2021/02/23(火) 10:31:05.01ID:u3MMsI1X >>853
使わない、というか使うな誤解を招くから
SmalltalkとかObjective-Cならわかるけど
C++やJavaのそれはメッセージングではないと考えるのが普通(そう見做せないわけではないが
使わない、というか使うな誤解を招くから
SmalltalkとかObjective-Cならわかるけど
C++やJavaのそれはメッセージングではないと考えるのが普通(そう見做せないわけではないが
861デフォルトの名無しさん
2021/02/23(火) 10:33:09.34ID:B3ih21Pc >>858
?
?
862デフォルトの名無しさん
2021/02/23(火) 10:34:51.99ID:gTQJYaBt863デフォルトの名無しさん
2021/02/23(火) 10:37:31.33ID:B3ih21Pc864デフォルトの名無しさん
2021/02/23(火) 10:49:29.89ID:7kgSemXY ごめんねおじいちゃん知らない表現を使われただけでそんなに拗ねるなんて思わなかったんだ
865デフォルトの名無しさん
2021/02/23(火) 11:07:54.70ID:u3MMsI1X866デフォルトの名無しさん
2021/02/23(火) 11:13:43.78ID:j4L8+y6t おじいちゃんとか学生ちゃんとか、おまえらマウンティングしながらじゃないと会話できないのかw
867デフォルトの名無しさん
2021/02/23(火) 11:54:07.11ID:oVEFpcof このスレは特にそういうの多いよね
868デフォルトの名無しさん
2021/02/23(火) 12:46:58.74ID:HLi0yp23 昔からこのスレは特に酷いよね
なぜマウントの必要があるのかは少しだけ興味深いけど
なぜマウントの必要があるのかは少しだけ興味深いけど
869デフォルトの名無しさん
2021/02/23(火) 13:21:23.20ID:+0nZ2NLW Linuxを使う以上、C++を嫌わないとダメだろ。
870デフォルトの名無しさん
2021/02/23(火) 13:45:38.11ID:iu17pC6m871デフォルトの名無しさん
2021/02/23(火) 13:46:51.42ID:iu17pC6m >>865
どういう理由で経験不足と判断したか言ってみ
どういう理由で経験不足と判断したか言ってみ
872デフォルトの名無しさん
2021/02/23(火) 13:47:30.93ID:alqL+AST オブジェクト指向に関しては、今の人は、昔はメモリが高価だったとでも思っておけば良いよ。
873デフォルトの名無しさん
2021/02/23(火) 13:53:26.39ID:UMWafFvJ874デフォルトの名無しさん
2021/02/23(火) 13:59:21.85ID:UMWafFvJ 一貫性というのはオブジェクト内部の整合性のこ
とを言いたい
のでは…
※ 個人の感想です
とを言いたい
のでは…
※ 個人の感想です
875デフォルトの名無しさん
2021/02/23(火) 14:03:58.66ID:UMWafFvJ C++のメソッドの呼び出しをメッセージと言い出すとウィンドウメッセージと紛らわしい(小並感
ていうかC++においてメッセージと言えるのはメソッドの「呼び出し」であってメソッドそのものではない
(例えば)メッセージ自体は継承メカニズムとは独立の概念なのだから
※ 個人の感想です
ていうかC++においてメッセージと言えるのはメソッドの「呼び出し」であってメソッドそのものではない
(例えば)メッセージ自体は継承メカニズムとは独立の概念なのだから
※ 個人の感想です
876デフォルトの名無しさん
2021/02/23(火) 14:10:51.07ID:HLi0yp23 Smalltalkはほぼ知らんけど
メッセージ式ってのは
セレクタ+引数のことだったはず
いやこれどうでもいいか
メッセージ式ってのは
セレクタ+引数のことだったはず
いやこれどうでもいいか
877デフォルトの名無しさん
2021/02/23(火) 14:18:47.72ID:UMWafFvJ ていうか今にして思えばstd::shared_ptr<IFoo>がIFooのインスタンスに対する所有権を適切に移譲したり管理するので
std::shared_ptr<T>に持たせることにした時点でIFoo自体がリソースに対する所有権を管理する必要はなさげorz
std::shared_ptr<T>に持たせることにした時点でIFoo自体がリソースに対する所有権を管理する必要はなさげorz
878デフォルトの名無しさん
2021/02/23(火) 14:29:34.84ID:+0nZ2NLW smalltalkなんて誰も使わないのだから、アジソンウェスレイのオブジェクト指向プログラミング入門にそう書かれていたからという理解で良いのでは?
若者もいるので説明しておくと、書店で書籍を買う時代があって、書店に並ばなければ書籍の存在自体わからなかったのですよ。
この本は何処の書店にも並んでいたので、スレの高齢者全員が読んでいます。
この本しかなかったんですよ。
良い本だとは思いませんが、30年たった今でも古書に値が付くはずです。
全員が読んでるので、全員が知っているかのように錯覚する人もいるって事です。
若者もいるので説明しておくと、書店で書籍を買う時代があって、書店に並ばなければ書籍の存在自体わからなかったのですよ。
この本は何処の書店にも並んでいたので、スレの高齢者全員が読んでいます。
この本しかなかったんですよ。
良い本だとは思いませんが、30年たった今でも古書に値が付くはずです。
全員が読んでるので、全員が知っているかのように錯覚する人もいるって事です。
879デフォルトの名無しさん
2021/02/23(火) 16:09:16.56ID:CS53pw6I C++のオブジェクト指向でメッセージングのワード出してくるのは
継承を説明するサンプルコードで動物の階層もちだしてくるのと同じ功罪がある
理解のとっかかりにはいいが、リアルな実装の段階ではそういうポエムみたいな話は忘れたほうがいい
継承を説明するサンプルコードで動物の階層もちだしてくるのと同じ功罪がある
理解のとっかかりにはいいが、リアルな実装の段階ではそういうポエムみたいな話は忘れたほうがいい
880デフォルトの名無しさん
2021/02/23(火) 16:11:25.59ID:feF5fzNV メッセージ(笑)とか頭おかしい奴が言いそう
881デフォルトの名無しさん
2021/02/23(火) 16:16:12.25ID:+0nZ2NLW >>879
功もあると御自分で書かれているのでは?
功もあると御自分で書かれているのでは?
882デフォルトの名無しさん
2021/02/23(火) 19:10:57.35ID:48JMuLBY >>878
>書店で書籍を買う時代があって、書店に並ばなければ書籍の存在自体わからなかったのですよ。
私の若い頃を思い出します。
当時、神戸の一番大きな本屋さんでは、どうしたわけだかコンピューター関連書籍の部分だけは黒山の人だかりで、いつも二十人くらいがみんな立ち読みしまくっていて、そういう人ごみを押しのけて本を探さなければならなかったくらいでした
最近右翼になった数学者・藤原正彦氏によれば、もっと古い時代には町の小さな本屋さんであっても普通にそんな状態だった、ときいています、とても信じられませんが‥‥
そういうわけで、アマゾン・ウェルカム!
>書店で書籍を買う時代があって、書店に並ばなければ書籍の存在自体わからなかったのですよ。
私の若い頃を思い出します。
当時、神戸の一番大きな本屋さんでは、どうしたわけだかコンピューター関連書籍の部分だけは黒山の人だかりで、いつも二十人くらいがみんな立ち読みしまくっていて、そういう人ごみを押しのけて本を探さなければならなかったくらいでした
最近右翼になった数学者・藤原正彦氏によれば、もっと古い時代には町の小さな本屋さんであっても普通にそんな状態だった、ときいています、とても信じられませんが‥‥
そういうわけで、アマゾン・ウェルカム!
>>875
私は例のペゾルド教本を何とか C++ に適応させたくて、ペゾルド本の WM 処理・巨大 switch 文を C++ に適合させようと未だに四苦八苦していますが、やっぱり MFC に移っちゃったほうが楽チンなんでしょうか?
私は例のペゾルド教本を何とか C++ に適応させたくて、ペゾルド本の WM 処理・巨大 switch 文を C++ に適合させようと未だに四苦八苦していますが、やっぱり MFC に移っちゃったほうが楽チンなんでしょうか?
885デフォルトの名無しさん
2021/02/23(火) 22:05:53.75ID:u3MMsI1X886デフォルトの名無しさん
2021/02/23(火) 22:07:42.70ID:HLi0yp23 否定したように見えちゃってるんだな
いろんな人がおるな
いろんな人がおるな
887デフォルトの名無しさん
2021/02/23(火) 22:15:00.14ID:iu17pC6m888デフォルトの名無しさん
2021/02/23(火) 22:20:52.65ID:u3MMsI1X■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
