[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/06 13:22 / Filesize : 268 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part145



1 名前:デフォルトの名無しさん [2019/09/13(金) 17:13:24.60 ID:/ygW08Jq.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

----- テンプレ ここまで -----

2 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:32:39.97 ID:yAkItK0j.net]
前スレ1000>
>vtableがあればdynamic_castもできるのに何でダウンキャストなんだ?

dynamic_castはたいていダウンキャストに使うし、逆にvtableとdynamic_castは関係ないだろ。

3 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:40:45.55 ID:/ygW08Jq.net]
> vtableとdynamic_castは関係ないだろ。

おまえさん、そもそもdynamic_castとは何か理解しているか?

4 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:41:31.76 ID:/ygW08Jq.net]
あ、ID出るんだったな
「スレ主」としての発言ではないんで気にしないでくれ

5 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 22:48:38.62 ID:ZW8mwhnp.net]
整理すると
安全にダウンキャストするにはdynamic_castを使うし
その際vtableが必要
そんだけ

6 名前:デフォルトの名無しさん [2019/09/13(金) 22:49:53.22 ID:ZW8mwhnp.net]
ちなみにdynamic_castでアップキャストする場合はvtable要らね
どうでもいいが

7 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 01:51:42.11 ID:2JV3tdJj.net]
このvtable言いたいだけ感

8 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 02:09:30.09 ID:SgsUVSB1.net]
vtable言いたいだけちゃうんかと

9 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 02:29:08.06 ID:plkfGFM5.net]
vtable iitai dake.

10 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 07:29:57.19 ID:keXkMGsc.net]
dynamic castでアップキャストする事あるの?



11 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 09:31:35.63 ID:MJsGg5EL.net]
ない

12 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 11:41:42.14 ID:Hd+E1riT.net]
そもそもアップキャストはリスコフの置換原則が成り立つクラスになってんなら何もしなくも勝手にできる

13 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 11:56:51.87 ID:JExEJ5Ds.net]
SOLIDなんて馬鹿が意識してるわけねーだろw

14 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 14:12:14.01 ID:2JV3tdJj.net]
今まで仕事でRTTI有効だったプロジェクトはひとつもないわ

15 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 16:26:48.85 ID:Hd+E1riT.net]
そりゃあサイズ削減しなきゃいけないからじゃね?

16 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 17:28:56.46 ID:KFCQQ8F2.net]
サイズ以前の問題じゃないの

17 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 17:57:41.80 ID:JExEJ5Ds.net]
バッチ処理系統の仕事ならポリモルフィズムなんて糞の役にも立たんどころか
かえって有害だわ。

18 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 18:14:18.81 ID:MJsGg5EL.net]
COBOLでもEVALUATE文なんて普通に出てくるだろ
力技でダッセーけどあれもポリモだぞ

19 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 18:26:33.88 ID:JExEJ5Ds.net]
そういうカスなことやってるからメンテ不能になるんだよ。。

20 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:17:35.55 ID:qjGOgUak.net]
rttiに使う必要がでた時点でc++はミスチョイス
もちろん趣味ならご自由に



21 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:52:02.94 ID:iEVwPiY+.net]
RTTI嫌ってるけど実際どの程度パフォーマンスに影響するの

22 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:10:10.91 ID:MJsGg5EL.net]
正直、初めてポリモの話を聞いたときは
混ぜちまってから後で選別なんてアホだろって思った

23 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:36:36.84 ID:BTqGkHHG.net]
まあ結局コールバックだからな

24 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:39:19.28 ID:SgsUVSB1.net]
ポリホーモきっしょ

25 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 01:12:05.95 ID:+QluEOXC.net]
C++は型の実行時識別をvtblのアドレスでやるからdynamic_castする以上はアップだろうがダウンだろうが対象クラスに仮想関数が一つは含まれないといけない
さもないとゼロコストの原則からクラスにvtblが作られない
ただし、仮想関数であれば良く、必ずしも仮想デストラクタである必要は無い、、、ハズ、、、

26 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 01:37:29.11 ID:0kzqJJdX.net]
vtableおじさんまたきたよ

27 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 01:44:54.25 ID:+QluEOXC.net]
>>22
ポリモとダウンキャスト(RTTIを使うか否かを問わず)を混同するとは情け
ナサス、

28 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 01:47:31.12 ID:+QluEOXC.net]
コールバック関数ならいちいちポリモとかしなくとも無名関数とかで良いやんジャバじゃあるまいし、

29 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 01:59:40.68 ID:LMFjfaUx.net]
vtableとvtblでNGしたった(´・ω・`)

30 名前:デフォルトの名無しさん [2019/09/15(日) 03:24:46.48 ID:2F/PGB+Q.net]
>>28
ラムダをどっこかに登録してコールバックしてもらうとき
自分が死ぬとき登録を解除するのが面倒じゃね?
結局thisとpairで登録する羽目に
だったら初めから仮想関数で良くね?



31 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 04:39:33.80 ID:+QluEOXC.net]
コールバック関数を渡す側がコールバックされるより先に死ぬ可能性があるとか
一体何がしたいのかっていうか、

32 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 04:41:18.12 ID:+QluEOXC.net]
仮にそうであるとしても死ぬ際に空のコールバック関数に登録し直せば良い
なお関数オブジェクト自体の破棄は関数オブジェクトをコピー渡しなりすれば何の問題も無い

33 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 07:15:57.55 ID:o13gcpb2.net]
>>25
ゼロコスト? ああゼロオーバーヘッドのことかw

34 名前:デフォルトの名無しさん [2019/09/15(日) 09:03:14.13 ID:XPArYK5v.net]
C言語がなんとか使えるようになりました。
今度は、生産性の向上とstringとか面白そうなので、
C++を学習しようと思っています。

おすすめの書籍があったら、教えてください。
ちなみにC言語の理解は、独習Cで勉強しました。
なんだか、独習C++は実用的ではない気がしました。

知りたいのは、C++のstringとかvectorとかです。

それとも、こういう書き込みはだめですか。

35 名前:デフォルトの名無しさん [2019/09/15(日) 09:10:08.07 ID:XPArYK5v.net]
34です。

宣伝みたいになりましたが、
独習C++の新版が出ていました。
書籍は11月、電子ならすぐに手に入るようです。
期待してみます。

ほかにもあれば教えてください。

36 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 09:16:38.35 ID:8KX++KfV.net]
cpprefjp

37 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 09:45:21.89 ID:oPlgEsHO.net]
EzoeRyoのgithubに公開しているcppbook
cpprefjp

38 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 09:47:48.80 ID:uSEm3H+m.net]
ただで読めるし「江添亮のC++入門」とかでいいんじゃない?
どうしても書籍が良ければ9/20発売みたいだし

39 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:08:14.78 ID:j54Ms8Tr.net]
どいつもこいつも嵌める気しかねーのか。。
せめてロベールとかビャーネのやつを紹介しろよ。

40 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:14:24.35 ID:uK9KHo8O.net]
>>34
もちろんこういう書き込みは駄目だね
まず言語を学ぶ時点で実用性がない
学ぶならフレームワークだね
それにどうせ金にならないんだから、実用性なんて最初ならない



41 名前:デフォルトの名無しさん [2019/09/15(日) 10:29:15.30 ID:Fzt4Iz1L.net]
ビャーネはまだしもロベール古くない?

42 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:30:20.14 ID:+TjQqAK6.net]
いまさら03以前の本を勧めるのはちょっと…

43 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:35:30.95 ID:Pt8t6mL1.net]
C++で生産性は向上しない
学習動機の根本が間違ってる

44 名前: mailto:sage [2019/09/15(日) 10:37:36.53 ID:gb0f216/.net]
>>35
>書籍は11月、電子ならすぐに手に入るようです。
電子キンドル版もやはり11月まで入手できないとのことでした

45 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:47:37.02 ID:j54Ms8Tr.net]
cやったばっかの人に江添とか薦めるくらいならc++03のとこから地道に教える方を選択するわ。
あんな糞本でc++なんかいじられると目も当てられん結果になる。

46 名前:デフォルトの名無しさん [2019/09/15(日) 10:49:41.53 ID:Fzt4Iz1L.net]
もちろんC++11,14,17,20と教えていくんだろうな?
今時C++03なんて使ってられんぞ

47 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:56:43.80 ID:+TjQqAK6.net]
今となっては「auto_ptrはコンテナに入れるな」だの「vectorのメモリ領域が連続してると仮定するな」だのを
初心者に教える方が有害だと思う

48 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:57:27.95 ID:I9cvwq9U.net]
基礎が全く出来てない単発だらけのこんなとこで聞くのが間違い

49 名前:デフォルトの名無しさん [2019/09/15(日) 12:29:28.22 ID:qCqOeXfn.net]
ビャーネを勧めるとかw

否定が多いスレ

猫とかやさしいでも、まずは読んどけ。

50 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 13:03:00.40 ID:o13gcpb2.net]
>>34
最も大事なのは本人のやる気だ
モノになるか否かを本のせいにするようではそれがない

俺自身の経験から言うと
変にかみ砕いたバカ用の本や
筆者の思い込みを熱く語っている本よりも
ドライなやつがいい
具体的には禿の本や規格票が俺にとってのそれだった

必要な情報は客観的事実でどっかの馬の骨の主張じゃない
解らんところをどう攻めるかも自分の頭で考えるのが大事だ



51 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 13:17:14.19 ID:d26DY9ov.net]
>>34
stringとかをライトに使いたいのならサンプルコード探して真似るだけでもいいかと
ただ、stringやvectorがどういう仕組みで出来ているのかはいずれ理解する必要出てくるから
独習みたいな本を手元に置いといた方がいい(>>47みたいに古い本だと一部仕様が違ってたりするけど

52 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 15:21:24.21 ID:2F/PGB+Q.net]
言っちゃなんだが、実際使ってみるっつーか
何かソフト書いて覚えるしかないと思うよ
参考書はネットに転がってる文献で十分でしょ

53 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 15:29:29.02 ID:WnktybSj.net]
プログラミング勉強する前にコンピュータアーキテクチャ勉強しろ

54 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 15:30:29.64 ID:w00J0OPy.net]
https://en.cppreference.com/w/cpp/language/namespace


using namespace ns_name;      //(5)

という形式の 「using-directive (using 指令)」の説明に

5) using-directive: From the point of view of unqualified name lookup of
any name after a using-directive and until the end of the scope in which
it appears, every name from ns_name is visible as if it were declared
in the nearest enclosing namespace which contains both the using-directive
and ns_name.

とあるのですが、

as if it were declared in the nearest enclosing namespace which contains
both the using-directive and ns_name.

の部分の正確な意味が分かりません。個人的には (5) の ns_name までを含めた行全体が、
「using-directive」であるという理解なのですが。

as if it were declared in the nearest enclosing namespace which contains the using-directive.

であるなら分かりますが。どなたか分かる人にご教授いただければ幸いです。

55 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 15:53:13.28 ID:58rKn0L9.net]
using directiveにはnamespace以外にも用途があるからと思われ

56 名前:54 mailto:sage [2019/09/15(日) 15:59:33.27 ID:w00J0OPy.net]
>>54
さっき、名前探索の「優先順位」に違いが出てくるからかもしれないと気付きました。
using-directive を書いた namespace よりも、その親や先祖となっている
namespace で名前が宣言されているかのよに振舞うということは、
その分、名前探索では優先順位が少し低くなります。このことによって
同名の名前が内側に宣言されていた場合、振る舞いが変わってきそうです。

57 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 16:52:00.99 ID:LMFjfaUx.net]
>>39
ロヴェールはウンコ

58 名前:デフォルトの名無しさん [2019/09/15(日) 18:52:44.08 ID:XPArYK5v.net]
34です。
みなさん、ありがとうございました。
詳しい人多いですね。

stringとかを使えば、pythonやC#みたいに
使えるかなと思ったものです。

59 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 21:18:39.85 ID:zWVpxi69.net]
C覚えたんならC++やらずに他の言語やってもいいんじゃね。と思った。

60 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 22:33:44.86 ID:2F/PGB+Q.net]
他の言語なんかやめとけ
C++かそれが嫌ならRustにしとけ
ただRustは難しいからC++でいいだろう



61 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 11:16:31.34 ID:ViJ7kb/C.net]
>>57
残念ながらc++に関してはそのうんこを超える入門書がないだわ。

62 名前:デフォルトの名無しさん [2019/09/16(月) 18:51:38.35 ID:JVpNk5dm.net]
今時本で勉強しているやつは時代遅れ。
情報が更新されるcpprefjp,cppreference等にかなうものはないのだ。

63 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 19:14:58.26 ID:GDraKDQQ.net]
辞書と教科書は違う

64 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 19:35:00.11 ID:GUsgf22q.net]
辞書がメインだよ
どっかの馬の骨はこう見ているというのは
あまり1つに囚われずに数多く見聞きして
誰もが口を揃えるのは何かを参考にする程度だ

65 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 19:49:19.85 ID:Bd17ulHe.net]
やっぱ言語を作った人が書いた「プログラミング言語(言語名)」を読むのがとっかかりとしては一番良い
言語の設計思想が一番間違いのない形で書かれている(何しろ本人が書いたのだから
最新規格は差分で追えば宜しい

次点はオライリーのやつ「プログラミング(言語名)」

66 名前:デフォルトの名無しさん [2019/09/16(月) 20:12:19.52 ID:ViJ7kb/C.net]
>今時本で勉強しているやつは時代遅れ。
>情報が更新されるcpprefjp,cppreference等にかなうものはないのだ。
なるほど、こういう浅はかな輩がいることを考えるとまだまだ本の価値は下がらんな。

67 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 20:17:58.22 ID:Hp9aP4N/.net]
でも今、本の値段が上がってるない?
昔はよく買ってたのに、9,800円ではちょっと躊躇してしまう。

68 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 20:29:19.55 ID:Xl3jboOR.net]
間違いがあっても更新出来ないのは本の欠点やと思う

69 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 21:59:17.57 ID:sIsNtkL6.net]
てか導入なら本がいいかもだけど、一度覚えれば更新はネットのコンテンツの方が良いからなぁ

最近仕様更新の頻度が高いから、
最新仕様に追従できている入門書でしかも実績のある奴なんてあるのかね?

70 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 22:01:20.50 ID:iDbWACrZ.net]
やっぱgoogleで検索が最強だからな



71 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 23:01:30.54 ID:MvRcz04q.net]
でもネットだと最新のものが上位に来やすく、しかも、そのサイトを書いている人は
新しいものを推奨しがちだが、本を読んでみると新しく入ったやり方より
古いやり方のほうが多くの場合には推奨される、ということが理由とともに
丁寧に説明されている場合もある。本を書いている人は経験豊富で、能力も
高い場合が多いのに対し、ネットで書いている人は必ずしもそうではないので
仮に結果は正しいことを書いていても、「理由」は間違っている場合などもある。
だから正しい見解を学びたいなら本の方がよいと思う。
例えばの話、本だと学歴や経歴なども分かって、それと本文の内容を
照らし合わせると「立場」「立ち位置」が分かって言外の内容が読み取れることもある。

72 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 23:10:11.04 ID:iDbWACrZ.net]
本だと一人の人の考え方に偏りがち

73 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 23:19:15.84 ID:XEOx1c9f.net]
本も読んでネットも見て自分で判断するんだよ
一つのソースに依存して信じ込むのはプログラミングの勉強に限らずなんでもダメ

74 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 23:41:43.90 ID:FH41VMpz.net]
>>54
>の部分の正確な意味が分かりません。
訳「ボクは馬鹿です」

>全体が、
>「using-directive」であるという理解なのですが。
まあそのページの下の方にもそう書いてあるな

75 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 00:06:57.73 ID:e0hwvXZA.net]
何の助けにもならず何の意味もない全く必要のないレス

76 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 06:05:19.69 ID:mC1Fem4G.net]
cout << sizeof "abc";
これで4と表示されるから
文字列リテラルはポインタだなんて書いてるサイトもあるしな

77 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 08:44:15.33 ID:TMSCi5y8.net]
そんなサイト、あるの?

78 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 09:03:18.20 ID:kyKgfAv0.net]
sejukuの侍エンジニア塾ブログじゃねえの?

あそこC言語の説明でやらかしただろ
もう絶対に信用しないよ

読んじゃいけないサイトのトップにランクインしてる
さっさと検索結果から消えてほしい

79 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 11:47:19.71 ID:hai8m3HY.net]
いい加減だよな
うちは64bitだから8だぞ
cout << sizeof "Hello!!"

80 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 12:04:06.87 ID:MolJflMP.net]
色々ツッコミどころがあるんだよねあれ

・C言語初心者はスクールがオフィシャルで出す解説を書くべきではない
・掲載前にはレビューするべき
・サイレント修正ではなく、お詫びと訂正を実施すべき



81 名前:デフォルトの名無しさん [2019/09/17(火) 17:38:47.21 ID:IoM9hprN.net]
>>65

82 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 19:24:38.79 ID:vP5fcRYP.net]
実際糞記事読むくらいなら
ビャーネの本とかeffective modern c++読んだ方がよっぽど良い。

83 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 19:31:26.02 ID:u1m7mz7R.net]
effectiveは古い

84 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 19:34:51.97 ID:u1m7mz7R.net]
初心者には難しいし使ってる人には知ってることしか書いてない

85 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:08:04.08 ID:g1BlUkdv.net]
>>84
極端だな。初心者が次のステップに進むにはちょうどいいだろう。

86 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:26:03.45 ID:vP5fcRYP.net]
そうか?ここの連中なんてほとんど理解してるように思えんが。。

87 名前:デフォルトの名無しさん [2019/09/17(火) 22:10:10.83 ID:txYKQrA6.net]
あるグローバル変数を変更しているpublicメソッドA、Bがあります。
このグローバル変数の排他制御をするために

CCriticalSection cs;

void A()
{
CSingleLock lock( &cs, TRUE ) ;
...
}

void B()
{
CSingleLock lock( &cs, TRUE ) ;
...
}
このようにしようと思ったのですが、Aの中からBを呼び出しています。
どうしたらよいでしょうか?

88 名前:蟻人間 mailto:sage [2019/09/17(火) 22:12:04.47 ID:vrvr50SL.net]
>>87
ロックカウンター変数

89 名前:デフォルトの名無しさん [2019/09/17(火) 22:15:18.09 ID:D0xFlgCf.net]
C++に限らないが仕様が膨大だから一冊の本にするのは無理があるのに
色々網羅して中途半端な本多いよな。特には和書は。

90 名前:蟻人間 mailto:sage [2019/09/17(火) 22:21:08.25 ID:vrvr50SL.net]
カウント変数を追加し、ゼロで初期化。ロックがかかるときにカウントを1増やす。増やす直前にゼロだったら実際にロックする。ロックを解除するときにカウントを1減らす。ゼロになったら、実際にロックを解除する。



91 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 22:23:33.48 ID:cgXPZZnO.net]
MZうyちゃーーーん♪こんなとこにいたのかw

92 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 22:51:59.37 ID:/ZgM52F4.net]
>>87
同じスレッドでAの中からBが呼び出せるのは正常な動作です
逆に同じスレッドでAの中からBを呼び出したとき、Bでロックしてしまったら
誰がロックを解除するんですか?

93 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 22:55:25.93 ID:cgXPZZnO.net]
ルンルン腹話術のお時間です(^ワ^)ワハハ!!

94 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:02:25.13 ID:iJB0hxCG.net]
>>88
安易にそれ勧めない
まず再帰ロック不要な設計にするのが基本

95 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:05:20.26 ID:cgXPZZnO.net]
問題集回しコピペワロタw

96 名前:デフォルトの名無しさん [2019/09/17(火) 23:06:00.71 ID:TcK6H4+J.net]
マイクロソフトがgithubにSTLの実装を公開してる。
どんどんオープンにしていくのな・・・

https://github.com/microsoft/STL

97 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:08:28.20 ID:cgXPZZnO.net]
ガーガーバカw

98 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:15:14.52 ID:aYbHZN9j.net]
>>92
それはwindowsのCRITICAL_SECTIONが再帰的ロック取得を認めているというだけで、
普遍的に通用する話じゃない。例えばstd::mutexを使った場合とかな。
>>87みたいなケースでは高階インターフェースのB()とinner_B()を分離するとかが常套手段だな。

99 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:17:56.03 ID:f5N3Fp86.net]
サウンド鳴るようになったのか!

100 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:22:32.62 ID:/ZgM52F4.net]
>>98
CCriticalSection
って書いてあるからCRITICAL_SECTIONの話では?








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef