[過去ログ] 【初心者歓迎】C/C++室 Ver.106【環境依存OK】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
614: 2021/03/18(木)18:05 ID:KYeguKkE(2/2) AAS
>>611
江添本一択
615: 2021/03/18(木)18:59 ID:OslqqG1Q(1) AAS
>>611
C関係無しで覚えるのもいいんじゃね?
616: 2021/03/18(木)19:00 ID:OIk6P4WM(1) AAS
>>611
独習C++はCの知識が前提だったはず
617
(1): ◆QZaw55cn4c 2021/03/18(木)23:28 ID:QiBLMBVe(1) AAS
>>605
>これをやりたいときは
>みたいに参照を返すように宣言しないとダメですよね?
>obj.param1(...).param1(...) みたいに呼んだ場合はオブジェクトのコピーに2番目の呼び出しが行われ、
>結局破棄されてしまうので、objに2番目のparam1()の呼び出しが反映されない。

確かに、メソッドチェインを繰り返すたびにコピーコンストラクタが呼び出されるのは、イマイチ、という感覚を私も同様に持ちます
だからメソッドチェインを書くときには私も参照を返すように書きます、結局のところ「参照を返す」というのは「ポインタを返す」ことですから、コンストラクタの走りようがない

しかし「参照を返す『必要がある』」と言い切れるかどうか?
「結局破棄される」というのは最後のメンバ関数が返す実体を回収していないからであり、「参照を返すから」破棄されるわけではないと感じました。
実際、この実体を回収すれば、それはそれで 2 番目以降の呼び出しが意味を持つように書けると思います
省4
618
(1): 2021/03/19(金)03:28 ID:mbZVOQ2F(1) AAS
だからムーブコンストラクタとムーブ代入演算子があるんだろうが・・
619: 2021/03/19(金)03:37 ID:0CmLwf9e(1) AAS
>>617-618
てかそもそもコンストラクタ走っていいのかよこの場合に
620
(1): 2021/04/09(金)12:21 ID:dUyySPje(1) AAS
クラスFooのメンバ関数fの型ってどう書くの?
戻り値void、引数intです。
621
(1): 2021/04/09(金)12:52 ID:N6zWukcq(1) AAS
>>620
f の型は void (int) だけど f へのポインタの型は void (Foo::*)(int)
622
(1): 2021/04/09(金)18:45 ID:WYvZUx+H(1) AAS
>>621
それはメンバ関数へのポインタでしょ
聞いてるのは関数の型でもなく、メンバ関数の型です
623: 2021/04/09(金)20:18 ID:DC3guaga(1) AAS
言われてみれば関数の型ってなんだ?
624: はちみつ餃子 ◆8X2XSCHEME 2021/04/09(金)21:13 ID:foJJo5gI(1) AAS
C だと関数指示子 (Function Designator) で説明されたりするんだが、
C++ の仕様を Designator で検索しても出てこないな。
シグネチャもまたちょっと違う概念だし、
このあたりのきちんとした解説がまとまったものがあればぜひ読みたい。
625: 2021/04/09(金)21:39 ID:MYEEijki(1) AAS
「メンバ関数の型」が必要になるケースって何じゃろ?
626: 2021/04/10(土)01:44 ID:4ITkpFPM(1) AAS
>>622
だから「f の型は void (int)」って書いたのに、なんでそれが答えじゃないと思うの?

typedef void ftype(int);
struct Foo { ftype f; };
void Foo::f(int) {}
int main() { Foo x; x.f(0); }
627: 2021/04/10(土)08:44 ID:gtw6CEDD(1) AAS
関数ポインタを考える以前は関数の型と言えばイコール評価した値の型だったな。
628: 2021/04/13(火)16:10 ID:uVvL/txB(1) AAS
今は関数の型とかもうどうでもよくて
一周回り帰えりキャプチャとかダイナミックスコープとかの有用性や整合性が中心よね
629: 2021/04/15(木)15:55 ID:6RtJrvVe(1) AAS
pod的な意味でなく論理的整合性的な型付けの恩恵受けたいなら、別に包む必要無くても常に即席structで返しててやんでい
630
(1): 2021/04/24(土)08:11 ID:LUJ0Utr0(1/4) AAS
C++/CLIで、スタティックライブラリからマネージドクラスを公開するのは無理なんでしょうか?
ヘッダファイルに全部実装書けば出来る、ってところまでは調べたんですが、ソースコードをプロジェクト外に置いてるのと変わらないので…。
ダイナミックライブラリでできるならそれでも構わないです。
631
(1): 2021/04/24(土)08:19 ID:nPKzA798(1) AAS
>>630
.NETでstatic libraryなんて作れたっけ?
最終的に.exeと.dllができるのが邪魔だからstatic libraryにしたいというだけなら、
いったんDLLとして作ってILmergeするのが一般的だと思う
632: 2021/04/24(土)08:36 ID:LUJ0Utr0(2/4) AAS
>>631
Lib自体は作れるし、アンマネージクラスなら公開もできるんですが、マネージクラスだと参照側でメンバーが参照できず、LNK2020が発生してしまうんですよね。
ビルドオプションでなんとかできるものなのかな、と。
633
(1): 2021/04/24(土)09:53 ID:K4uxnQki(1/2) AAS
LNK2020ってそれnativeのC++からリンクしようとしてる?
1-
あと 369 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s