TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Pythonのお勉強 Part57
俺主催囲碁プログラミングコンテスト
StackOverflowについて語るスレ
Excel VBA 質問スレ Part62
プログラム板自治スレッド その16
開発工数を大幅削減できた言語は存在しない
GPGPU#5
【COBOLから】バッチ処理【Javaまで】
結局開発で最も大切なのはテーブルの正規化と制約
静的型付け言語の潜在開発生産性は今の100倍 ×5

C++相談室 part145


1 :2019/09/13 〜 最終レス :2019/10/31
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

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

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

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

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

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

2 :
前スレ1000>
>vtableがあればdynamic_castもできるのに何でダウンキャストなんだ?

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

3 :
> vtableとdynamic_castは関係ないだろ。

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

4 :
あ、ID出るんだったな
「スレ主」としての発言ではないんで気にしないでくれ

5 :
整理すると
安全にダウンキャストするにはdynamic_castを使うし
その際vtableが必要
そんだけ

6 :
ちなみにdynamic_castでアップキャストする場合はvtable要らね
どうでもいいが

7 :
このvtable言いたいだけ感

8 :
vtable言いたいだけちゃうんかと

9 :
vtable iitai dake.

10 :
dynamic castでアップキャストする事あるの?

11 :
ない

12 :
そもそもアップキャストはリスコフの置換原則が成り立つクラスになってんなら何もしなくも勝手にできる

13 :
SOLIDなんて馬鹿が意識してるわけねーだろw

14 :
今まで仕事でRTTI有効だったプロジェクトはひとつもないわ

15 :
そりゃあサイズ削減しなきゃいけないからじゃね?

16 :
サイズ以前の問題じゃないの

17 :
バッチ処理系統の仕事ならポリモルフィズムなんて糞の役にも立たんどころか
かえって有害だわ。

18 :
COBOLでもEVALUATE文なんて普通に出てくるだろ
力技でダッセーけどあれもポリモだぞ

19 :
そういうカスなことやってるからメンテ不能になるんだよ。。

20 :
rttiに使う必要がでた時点でc++はミスチョイス
もちろん趣味ならご自由に

21 :
RTTI嫌ってるけど実際どの程度パフォーマンスに影響するの

22 :
正直、初めてポリモの話を聞いたときは
混ぜちまってから後で選別なんてアホだろって思った

23 :
まあ結局コールバックだからな

24 :
ポリホーモきっしょ

25 :
C++は型の実行時識別をvtblのアドレスでやるからdynamic_castする以上はアップだろうがダウンだろうが対象クラスに仮想関数が一つは含まれないといけない
さもないとゼロコストの原則からクラスにvtblが作られない
ただし、仮想関数であれば良く、必ずしも仮想デストラクタである必要は無い、、、ハズ、、、

26 :
vtableおじさんまたきたよ

27 :
>>22
ポリモとダウンキャスト(RTTIを使うか否かを問わず)を混同するとは情け
ナサス、

28 :
コールバック関数ならいちいちポリモとかしなくとも無名関数とかで良いやんジャバじゃあるまいし、

29 :
vtableとvtblでNGしたった(´・ω・`)

30 :
>>28
ラムダをどっこかに登録してコールバックしてもらうとき
自分が死ぬとき登録を解除するのが面倒じゃね?
結局thisとpairで登録する羽目に
だったら初めから仮想関数で良くね?

31 :
コールバック関数を渡す側がコールバックされるより先に死ぬ可能性があるとか
一体何がしたいのかっていうか、

32 :
仮にそうであるとしても死ぬ際に空のコールバック関数に登録し直せば良い
なお関数オブジェクト自体の破棄は関数オブジェクトをコピー渡しなりすれば何の問題も無い

33 :
>>25
ゼロコスト? ああゼロオーバーヘッドのことかw

34 :
C言語がなんとか使えるようになりました。
今度は、生産性の向上とstringとか面白そうなので、
C++を学習しようと思っています。

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

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

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

35 :
34です。

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

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

36 :
cpprefjp

37 :
EzoeRyoのgithubに公開しているcppbook
cpprefjp

38 :
ただで読めるし「江添亮のC++入門」とかでいいんじゃない?
どうしても書籍が良ければ9/20発売みたいだし

39 :
どいつもこいつも嵌める気しかねーのか。。
せめてロベールとかビャーネのやつを紹介しろよ。

40 :
>>34
もちろんこういう書き込みは駄目だね
まず言語を学ぶ時点で実用性がない
学ぶならフレームワークだね
それにどうせ金にならないんだから、実用性なんて最初ならない

41 :
ビャーネはまだしもロベール古くない?

42 :
いまさら03以前の本を勧めるのはちょっと…

43 :
C++で生産性は向上しない
学習動機の根本が間違ってる

44 :
>>35
>書籍は11月、電子ならすぐに手に入るようです。
電子キンドル版もやはり11月まで入手できないとのことでした

45 :
cやったばっかの人に江添とか薦めるくらいならc++03のとこから地道に教える方を選択するわ。
あんな糞本でc++なんかいじられると目も当てられん結果になる。

46 :
もちろんC++11,14,17,20と教えていくんだろうな?
今時C++03なんて使ってられんぞ

47 :
今となっては「auto_ptrはコンテナに入れるな」だの「vectorのメモリ領域が連続してると仮定するな」だのを
初心者に教える方が有害だと思う

48 :
基礎が全く出来てない単発だらけのこんなとこで聞くのが間違い

49 :
ビャーネを勧めるとかw

否定が多いスレ

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

50 :
>>34
最も大事なのは本人のやる気だ
モノになるか否かを本のせいにするようではそれがない

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

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

51 :
>>34
stringとかをライトに使いたいのならサンプルコード探して真似るだけでもいいかと
ただ、stringやvectorがどういう仕組みで出来ているのかはいずれ理解する必要出てくるから
独習みたいな本を手元に置いといた方がいい(>>47みたいに古い本だと一部仕様が違ってたりするけど

52 :
言っちゃなんだが、実際使ってみるっつーか
何かソフト書いて覚えるしかないと思うよ
参考書はネットに転がってる文献で十分でしょ

53 :
プログラミング勉強する前にコンピュータアーキテクチャ勉強しろ

54 :
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 :
using directiveにはnamespace以外にも用途があるからと思われ

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

57 :
>>39
ロヴェールはウンコ

58 :
34です。
みなさん、ありがとうございました。
詳しい人多いですね。

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

59 :
C覚えたんならC++やらずに他の言語やってもいいんじゃね。と思った。

60 :
他の言語なんかやめとけ
C++かそれが嫌ならRustにしとけ
ただRustは難しいからC++でいいだろう

61 :
>>57
残念ながらc++に関してはそのうんこを超える入門書がないだわ。

62 :
今時本で勉強しているやつは時代遅れ。
情報が更新されるcpprefjp,cppreference等にかなうものはないのだ。

63 :
辞書と教科書は違う

64 :
辞書がメインだよ
どっかの馬の骨はこう見ているというのは
あまり1つに囚われずに数多く見聞きして
誰もが口を揃えるのは何かを参考にする程度だ

65 :
やっぱ言語を作った人が書いた「プログラミング言語(言語名)」を読むのがとっかかりとしては一番良い
言語の設計思想が一番間違いのない形で書かれている(何しろ本人が書いたのだから
最新規格は差分で追えば宜しい

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

66 :
>今時本で勉強しているやつは時代遅れ。
>情報が更新されるcpprefjp,cppreference等にかなうものはないのだ。
なるほど、こういう浅はかな輩がいることを考えるとまだまだ本の価値は下がらんな。

67 :
でも今、本の値段が上がってるない?
昔はよく買ってたのに、9,800円ではちょっと躊躇してしまう。

68 :
間違いがあっても更新出来ないのは本の欠点やと思う

69 :
てか導入なら本がいいかもだけど、一度覚えれば更新はネットのコンテンツの方が良いからなぁ

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

70 :
やっぱgoogleで検索が最強だからな

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

72 :
本だと一人の人の考え方に偏りがち

73 :
本も読んでネットも見て自分で判断するんだよ
一つのソースに依存して信じ込むのはプログラミングの勉強に限らずなんでもダメ

74 :
>>54
>の部分の正確な意味が分かりません。
訳「ボクは馬鹿です」

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

75 :
何の助けにもならず何の意味もない全く必要のないレス

76 :
cout << sizeof "abc";
これで4と表示されるから
文字列リテラルはポインタだなんて書いてるサイトもあるしな

77 :
そんなサイト、あるの?

78 :
sejukuの侍エンジニア塾ブログじゃねえの?

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

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

79 :
いい加減だよな
うちは64bitだから8だぞ
cout << sizeof "Hello!!"

80 :
色々ツッコミどころがあるんだよねあれ

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

81 :
>>65

82 :
実際糞記事読むくらいなら
ビャーネの本とかeffective modern c++読んだ方がよっぽど良い。

83 :
effectiveは古い

84 :
初心者には難しいし使ってる人には知ってることしか書いてない

85 :
>>84
極端だな。初心者が次のステップに進むにはちょうどいいだろう。

86 :
そうか?ここの連中なんてほとんど理解してるように思えんが。。

87 :
あるグローバル変数を変更しているpublicメソッドA、Bがあります。
このグローバル変数の排他制御をするために

CCriticalSection cs;

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

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

88 :
>>87
ロックカウンター変数

89 :
C++に限らないが仕様が膨大だから一冊の本にするのは無理があるのに
色々網羅して中途半端な本多いよな。特には和書は。

90 :
カウント変数を追加し、ゼロで初期化。ロックがかかるときにカウントを1増やす。増やす直前にゼロだったら実際にロックする。ロックを解除するときにカウントを1減らす。ゼロになったら、実際にロックを解除する。

91 :
MZうyちゃーーーん♪こんなとこにいたのかw

92 :
>>87
同じスレッドでAの中からBが呼び出せるのは正常な動作です
逆に同じスレッドでAの中からBを呼び出したとき、Bでロックしてしまったら
誰がロックを解除するんですか?

93 :
ルンルン腹話術のお時間です(^ワ^)ワハハ!!

94 :
>>88
安易にそれ勧めない
まず再帰ロック不要な設計にするのが基本

95 :
問題集回しコピペワロタw

96 :
マイクロソフトがgithubにSTLの実装を公開してる。
どんどんオープンにしていくのな・・・

https://github.com/microsoft/STL

97 :
ガーガーバカw

98 :
>>92
それはwindowsのCRITICAL_SECTIONが再帰的ロック取得を認めているというだけで、
普遍的に通用する話じゃない。例えばstd::mutexを使った場合とかな。
>>87みたいなケースでは高階インターフェースのB()とinner_B()を分離するとかが常套手段だな。

99 :
サウンド鳴るようになったのか!

100 :
>>98
CCriticalSection
って書いてあるからCRITICAL_SECTIONの話では?


100〜のスレッドの続きを読む
【StarSuite Basic/OpenOffice.org Basic】
Java入門・初心者質問スレ Part.8
【漏れは】猫でもわかる質問スレ【猫以下です】
機械語なら俺に質問しろ!その2
パチンコ、パチスロの基盤のプログラム 2
Perl初心者スレ(マジレス回答)
【糞.NET】裏切り者には死を【アンチゲイツ】
プログラム板へのID導入の投票実施中 月曜0:00まで
音声合成プログラムを作りる
【統計分析】機械学習・データマイニング28
--------------------
コードギアス 復活のルルーシュ 雑談スレ★85
【長野県千曲市/無職のキチガイ】 らんはげ 山岸俊 ★41【山崎誠と同類】
【namco】ナムコ総合スレ 6
iPad[第6世代] part3
【愛知】和合温泉湯楽
[オアフ島]ジャンピングフラッシュ[ムームー]
【他人のせい・孤独国家】「中国の挑発許した」 韓国、日米との歩調乱れに危機感[2/25]
【san-X】にゃんにゃんにゃんこ 6匹目にゃ
なんで日本はイスラムテロの標的にされないの?(謎
至高の MP3 タグ エディタを求めて,,, v12
【ブルームバーグ】韓国国会議長が11月4日に訪日「天皇謝罪」要求で物議−朝鮮日報 自身の発言で「心が傷ついた人々」に謝罪する[10/11]
【関西】天王寺周辺でオフ34【大阪】
ミノタブ+フィナとゆかいな仲間たち★112世代目
【最終幻想七】鱧二と不愉快な仲間達 ヲチスレ11【蔵空気】
東京国際大学、箱根駅伝出場で立正大学に完全勝利!
この板は必要なのか?
梅山恋和
イチローが記録達成できると思ってるヤシはド素人
◆ROBOT魂 総合スレ 324体目◆
【A応P】アニメ“勝手に”応援プロジェクト part32
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼