TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
[特設]サマータイム対応相談室
テストを書いてからリファクタリングなんてのは幻想
集合論に基づいた言語を作りたい
次世代言語12 Go Rust Swift Kotlin TypeScript
Vue vs React vs Angular Part.3
小学生プログラマだけど質問ある
Regular Expression(正規表現) Part15
C/C++の宿題片付けます 170代目
日本語プログラミング言語Mind
Go language part 3

C++は難しすぎ 難易度:4


1 :2008/09/16 〜 最終レス :2019/04/26
どう考えても難しすぎだろ!
読みやすい名前に改名しないBjarne Stroustrupには げんあり
前スレ達
難易度:1 http://pc5.2ch.sc/tech/kako/1058/10586/1058675178.html
難易度:2 http://pc5.2ch.sc/tech/kako/1063/10633/1063323615.html
難易度:2 http://pc11.2ch.sc/test/read.cgi/tech/1071697977/

2 :
工エエェェ(´д`)ェェエエ工工

3 :
だれかゆとり言語作ってあげなよ

4 :
>>1
馬鹿。C++の全機能を無理に使おうとするから難しいんだよ。
まずBoostは当分使うのをやめて身の丈に応じた機能だけ使っとけ。

5 :
分からなければ本が悪い。

6 :
テンプレート禁止

7 :
WindowsアプリならVBとかDelphiとかで十分。
だいたい、GCの無い言語でアプリ書きたくない。
スマートポインタは継承に対応できないのでクソ。
参照カウンタは実はGCより遅い。
デバイスドライバとかはオブジェクト指向いらないので
メモリモデルが単純なCのほうがいい。
Linuxでプログラムを組むんだったらPythonかRubyでいい。
サーバーサイドならJava。
これでパフォーマンスが要るアプリ(ゲームとか)はこれからDに
取って代わられる可能性大だから、もはやC++をやる価値無し。
難解でしかもツカエナイ言語。
C++で悩むくらいならもっと役に立つことに頭使え。

8 :
>>7
釣れますか?

9 :
釣りかどうかはわからないが、16分弱で馬鹿が釣れたのは確かだな。

10 :
もし、継承に対応できないがキャストできないということなら、それは違う。
shared_ptrにはdynamic_pointer_castなんかがある。BoostもTR1も。

11 :
Dとかw

12 :
昔はCもwとか言われたもんさ

13 :
新言語Cw, Dw

14 :
せっかくだから俺はGrassを選ぶぜ。

15 :
大分前からOOの有用性については現場レベルから疑問視
する声が上がっていました。
かような擬似技術が今までまかり通っていた原因は供給側、つまり
日経提灯やセミナー屋にももちろんあるでしょうが、需要側にも
擬似技術を受け入れる下地があったと思われます。
何時の時代にも仕事の出来ない、自分の能力の限界に気付いてしまった
若いPGがいます。
今のままでは決してベテラン技術者に追い付けない事を仕事で
実感している連中です。
彼らの逆転のチャンスはなんでしょうか?
社会の混乱を醸成し、混乱に乗じた革命。これしかありません。
OOの出現はそんな彼らの需要にぴったりのモノでした。
従来からある用語を言い換えただけのインチキ性。
既存の技術者のスタイルを否定する構造。
反対者や疑問を抱く者には「新技術について行けない人」というレッテル
を貼るだけで追い出せるのですから、詐欺師にとってはこんなオイシイ
仕掛けはありません。
しかし、もう結果は出始めています。
革命ごっこはもう終わり。
まだ詐欺師に占拠されていない会社においては、一刻も早くこうした
擬似技術者の駆逐による経営の健全化を強く望むものです。

16 :
C++でOOPを知った気になってもらっても困る。

17 :
なんでも基礎を強化したのちにムズイ事にいどめ

18 :
VBとかインタプリタ型ならpythonとか簡単なのから始めれば??
vbの入門サイト
http://www7b.biglobe.ne.jp/~vb_beginner2008/
python
http://www.iplab.cs.tsukuba.ac.jp/script/www.hlla.is.tsukuba.ac.jp/koe/python/intro.html

19 :
C++は完全なオブジェクト指向言語じゃないとかJava厨が騒ぐが
完全なオブジェクト指向って何だ?

20 :
JavaはC++同様メッセージパッシングではないし全てがオブジェクトでもないので
そのJava厨さんが何をいいたいのかはエスパーするしかないな

21 :
Java
オブジェクト指向以外を認めないあたりがそう。

22 :
完璧なオブジェクト指向言語がベストな訳でもない。

23 :
それを分かっていないのがJava厨。
もちろんだからと言ってC++が最高と言うわけではないけどな。

24 :
JavaはC++憎しで突っ走った結果
別のベクトルでヒドい言語になっちゃった哀れな子

25 :
俺は別にJavaを叩く気はないけど、Java使いがC++を叩いてるのを見ると「なんだかなぁ」と思う。

26 :
結局気にしてるんじゃん…

27 :
Java 云々は抜きにして、C++ は ADT もあるし OO 的な広がりは見せなかったね。

28 :
>>22
C#はベストと言えるんじゃね?
Javaは最早カスだがC#誕生の役にはたったよ

29 :
アレで満足なら結構でしたね

30 :
>>28
C#がいいのは俺も強くそう思うけど、
ラムダ式があるあたりオブジェクト指向オンリーな言語とは思えない
(つまり完璧なオブジェクト指向ではないと思う)のだが。

31 :
C++がオブジェクト指向的でないコードが量産される背景には、
interface 概念がはっきりした形で存在しないために(Java C# 等には明白な形で存在する)、
実はそれはRTTI+仮想多重継承で同様の機能が実現できるにも関わらず
使いこなせないケースが多いように見受けるな。
オブジェクト指向を推進するにも関わらず、多重継承を嫌うという事態になっている人を多々見かける。
その結果、オブジェクトをインターフェイス、つまり共通の仕様を通してアクセスするという概念が希薄。
それでも、共通でなければ不便である事は分かっているようで、無理やりな共通化をして、
結果クラスの継承ツリーが歪なコードを量産してしまう、ただの知識不足なのでもったいないんだが・・・
また、メッセージパッシング式の動作を書けないのは、ガベージコレクタが無いのが原因だろうな。
この方式は、ちゃんとインスタンス管理ができていないと、まともにコードできない。
C++のインスタンス管理は面倒くさいので、おろそかになりがちな人が多い。
ところが、おろそかであるにも関わらず、本人はその自覚が無いケースも多い、
むしろインスタンス管理がしっかりできていると信じて疑わない人は多々あり。
これは、例外に関わるバグにも発展するのでしっかり勉強して欲しいのだが、
自覚症状無しというケースに当たると辛い。

32 :
長くて読む気が起きない
3行にまとめろ

33 :
>>30
>ラムダ式があるあたりオブジェクト指向オンリーな言語とは思えない
別にラムダがあったって問題無いよ。
Smalltalk にだって block closure があるし。
だからと言って C# が良い訳ではないけどね。

34 :
>>32
近頃の
若者は
なっとらん

35 :
>>32
2chの「まとめろ」は「根拠をすっ飛ばせ」って意味だけど、
誰かの耳に痛いことを書く場合、それではただの煽りになるからなぁ。

36 :
なんだその俺解釈?
一般的な意味でまとめろ、3行に。

37 :
ダメな奴は
どの言語を使っても
ダメ

38 :
完璧なまとめだな
>>31みたいにクドイ奴がクラス、メンバ名とか決めるとどんだけクドクなるんだろうな
見たくもないが

39 :
サーバサイドと携帯アプリは Java
Mac は ObjC
UNIX は C
Win は知らんけど C# なの?
C++ にとって難しすぎな世の中かもね。

40 :
C++ハ ムズカシクナイ
アプリを作るのが難しい
難易度でいえば、Cの方がむずい
少なくとも、C言語を含むC++は、Cよりかは簡単に作れる
メモリ管理や文字列処理などの点はC++

41 :
おまらは大事なことに気づいていない。
int もしくは char でCを格納したらインクリメントしたらDになるはずだ。
いわば、c++=D だ。なのにD言語は別に存在する。矛盾している。

42 :
>>41
ポータビリティを無視してはいかん
'C'をインクリメントして'D'になるとは限らん

43 :
それ以前に'C'は右辺値だからインクリメントなんか出来ない

44 :
そこで演算子オーバーロード

45 :
うちの会社今じゃC++なんかほとんど使われてない

46 :
>>45
そりゃそうだ。お前んとこはCOBOLが主流だもんね。

47 :
これからもっとも給与面で優遇されるのはコボラーになる
C++はまだ一山10セントが続く

48 :
COBOLは延命措置に躍起になってくれるのに
C++はあっさり破棄される!不思議!

49 :
数年前はjava?m9(^Д^)プギャーってかんじだったのに
今はjavaがかなり支配的になってきた
COBOLはたぶんちょっとずつ減ってるんだろう
全然知らんけどw

50 :
decimalが扱えればCOBOLである必要はないからな
javaの方が遙かに保守が簡単だし

51 :
COBOLは仕事以上にコボラーが減ってきているので、言語とは全く別に
COBOLの仕事の価値が上がってしまっている希ガス。

52 :
減った分価値が上がる=COBOL
減ったら忘れ去られる=C++
再利用性(笑)

53 :
とりあえずMFCは糞

54 :
>>51
残念。いまコボル案件マジ氷河期。ちょっと募集かけると
仕事にあぶれたコボラがわんさか集まってくる。そんなだから単価ちょう叩き売り状態。
ちなみにCもC++もだいぶ減っているかな。いま携帯がやばいからね。

55 :
やはりjavaか

56 :
デルファイ最高

57 :
Javaってなんで+演算子で文字列連結できるんだ?
演算子オーバーロードをサポートしてるわけでもないのに

58 :
>>57
純粋なオブジェクト指向言語じゃないから

59 :
>>57
C だって演算子オーバーロードをサポートしていないのに + は複数の型を取れるでしょ。
つまり演算子オーバーロードなんて必要無いんです。

60 :
>>54
妄想乙w

61 :
ユーザによるオーバーロードを許してないだけ。

62 :
Javaの「このクラスを継承してるとこういう書き方が出来るよ!」みたいなのは正直キモイ

63 :
具体的に

64 :
>>57
馬鹿を釣るため。

65 :
>>59
複数の型は取れないよ。
コンパイル時に暗黙の型変換されてる。

66 :
>>65
変換を行った後でもint + intとかdouble + doubleとか何種類かあるでしょ。
>>59の必要無いは変な表現だと思うけど。

67 :
yaccのように評価順位とか自由にいじれるわけではないからな。
演算子オーバーロードは中途半端な機能に思える。

68 :
ピアソンの本ってやった?
おれは
コーディングスタンダード

エフェクティブ

エフィシエンとはやった

69 :
>>67
確か Haskell だったと思うけど、優先順位と結合方法も指定出来る言語があったね。
C++ が中途半端なのは仰る通り。

70 :
C++もわかんない奴なんか所詮使えない
そういう奴が業界から消えるのが一番いい。

71 :
もちろん、分かった上で使わないという選択肢を取るのはありだと思う。

72 :
上の方でオブジェクト指向はムリとか何とか書いてあったが、
C++でもSmallTalkに近い純粋なオブジェクト指向もできなくもない。
ただ、幾分かコーディングの手間と、実行時の無駄がある上、C++らしくない。
ttp://codepad.org/cwvFDlrt

73 :
きつい言い方をすれば、出来なくもないというのは
中途半端で使い物にはならないってことでしょ。
外面だけ真似しても意味無いじゃん。

74 :
>>73
>中途半端で使い物にはならないってことでしょ。
ところがどっこい、速度の要らないMVCの実装は非常に楽になる。
#>>72に貼っつけた即席コードのスコープやらアクセス修飾子が無茶だったorz

75 :
オブジェクト指向自体が使い物にならないからな。

76 :
Smalltalk が優れているのは統一感のあるクラスライブラリだったり、
充実したリフレクションだったり、インタラクティブな環境だから、
喩え C++ で真似事をしたとしてもなぁ。lambda とか class とか
C++ は中途半端に採用するのが好きだよね。

77 :
半端なんじゃなくてC++に合う形で取り入れてるだけ。

78 :
その結果、本家の良さをスポイルして中途半端になってしまうのが C++ だよね。

79 :
C++って名前だけはセンスいいと思ったんだけどなw

80 :
名前のおかげでCの正統な上位の言語だという誤解を植え付けることに成功したからなwww

81 :
C++ってなんて呼んでる?

82 :
それ以上はこっちの方がよくないか?
【信者】C++の問題点【アンチ】
http://pc11.2ch.sc/test/read.cgi/tech/1223597633/

83 :
似たようなスレ同士で紹介し合ってんじゃねえよw

84 :
こっちはC++が難しい
あっちはC++は別に難しくないが糞言語
一応主旨が違う

85 :
「問題点だらけの糞言語だから無駄に難しい」で一つに纏めろ

86 :
おれは好きだなCプラプラ〜

87 :
個人の趣味でいじくる分にはとても楽しい言語なのは否定しない
でも何万台も量産する機械に組み込んだり人の命に関わるようなものを制御させようとは
絶対に思えない

88 :
パチンコ関連では普通に使われてますがなw

89 :
>>87
それは他の新しい高級言語でも同じなんじゃ?

90 :
面白みがなくても、その分複数人でやる時は有効な言語ってのもあるだろ
例えば

…何?

91 :
>>87
偏見ですよ♪

92 :
>>87
君が思っているよりC++は世界中で使われているよ。

93 :
BOOSTっていうネーミングがいかにも厨臭い

94 :
そろそろBOOSTの勉強はじめようかな。

95 :
Lokiの方がより厨っぽい名前だと思う

96 :
Lokiなんか業務で使ってる所あるのか?

97 :
>>87
いまやPOSレジにもWindowsが乗っかっていて、
中のアプリがC++でガリガリ書かれている時代だからなあ。

98 :
boostなしじゃC++なんて使い物にならんな
STLとかもう要らないんじゃね?

99 :
嘘はくな
STLはC++の中心 
これ無しでは、C++は勝ちをなくす

100 :
標準のくせに可搬性のカケラもないアレがC++の中心?
冗談もほどほどにしろ

101 :
>>100 嘘はくな

102 :
STL使ってて移植に困ったことなんてないけどな。
どうせ>>100が変な使い方してるだけだろw

103 :
>>101
>>100 嘘はくな
「嘘吐き」と書いて、「うそつき」と読むことはご存じない?

104 :
ここから正しい日本語教室になります。
ム板ではよくあることです。ご静聴下さい。

105 :
>>102
例外をサポートしてない環境==stl使えない
しかもデカい市場なんで無視できないんだわ

106 :
100とは別人

107 :
>>105
gcc で普通に例外使えるし、わざわざ「環境」って言ってるんだから、
コンパイラの制限じゃないよね?そんな制限のあるコンパイラはとっくに淘汰されてるだろうし。
どんな環境? Symbian とか?
libstdc++ や STLport なら例外投げないように小細工して使うこともできるよ。

108 :
素人さん?stlは例外投げれないと使い物にならないよ

109 :
正直>>107みたいな半可通は黙ってて欲しい
そういうカキコみた新人が勘違いする

110 :
>>108
各種アルゴリズムなんか例外なくても使えるだろ。 auto_ptr だって使える。
コンテナは例外投げれないとつらいかもしれないが、例外を abort() にマップすれば
十分なことだってある。そこまでやってダメなときに、ようやく自前でコードを組むことに
なるんだ。
十把一絡げに「STL」と呼んで捨てるのはあまりに非効率。

111 :
コンテナの使用頻度が一番高いと思うんだが・・・
つか、例外使えない=コンテナ使えない(使いにくい)=可搬性低い、
で別に間違ってないだろw

112 :
>>110
>例外を abort() にマップすれば
勘弁してくれ、頼むからいますぐプログラマやめてくれ

113 :
>>111
それを言うならSTL以前に
例外使えない=new使えない(使いにくい)=可搬性低い
例外使えない=コンストラクタ使えない(使いにくい)=可搬性低い
つまり C++ は可搬性低いってことだな。

114 :
>>112
それでダメなら〜って書いてるだろ。ダメなこともあるだろうが、十分なことだってあるんだ。

115 :
スレッドセーフで例外セーフな新しいライブラリを誰か作ってくれ。

116 :
>>114
例外が使えない処理系や環境は(仕事で)よく見るが
例外をabortにマップして十分なプロジェクトは見たことない
まあそんな小さい仕事は請けたこと無いから、
もしかしたらabortで許される仕事もあるのかも知らんけどw
俺からしたらそれは超レアケースだな、つかありえない

117 :
>>111
その後に「=使い物にならない」とは続かないって話だろ。

118 :
おばはんw

119 :
誤爆しましたごめんなさい

120 :
>>117
ちょっと無理矢理すぎないか?
普通の感覚ならSTL使えるって言われたらコンテナ使えることを期待する
俺もコンテナが使えないならSTLなんかいらないし、
そういう意味で使い物にならないってのは全然言い過ぎではない

121 :
STLはStandard Template Libraryですよ
どこにもコンテナなんて出てこない
テンプレート使ってる標準ライブラリは全部STL

122 :
Standard Missileって知ってますか

123 :
ところがどっこい
basic_stringはテンプレート使ってて、かつ標準なのにSTLじゃないstream系も同様
この辺全くもって不条理だ
でもbasic_stringなんてSTL入りなんかせずに消えてしまえばいいと思います

124 :
そもそもSTLはC++用語じゃないと何度言えば(ry

125 :
kwsk

126 :
これだろ。
562 名前:デフォルトの名無しさん[sage] 投稿日:2005/05/05(木) 02:58:39
"STL"なんて呼称の範囲は、C++の標準ライブラリに
取り込まれてしまった今となっては明確に区切れる物では無い。
HP STL や SGI STL のことを指して言ってるのかもしれないが、
今使われてるのはそれらをベースにしたC++標準ライブラリだ。
範囲が明確に決まってるかのように、含まれるだの含まれないだの言うのは時代遅れだぞ。

127 :
CSL(is an acronym for the Cplusplus Standard Libraries)っていう言葉を流行らせよう!!

128 :
ここは何を話し合うの?

129 :
ちんこ

130 :
Javaは引数の参照渡しすらできないVB以下の言語

131 :
JavaがVB以下であることとC++が難しいことに何の関係があるのか説明せよ

132 :
3文字で

133 :
未曽有

134 :
みぞゆうは4文字

135 :
>>134
何故か変換できない。

136 :
>>135
麻生に言え。

137 :
日本語は難しすぎ

138 :
日本語は難しすぎるので変数名には英語を使います

139 :
日本語は本質的に論理構造を正確に表すのには向いてないからな
プログラムとは相性が悪い

140 :
んなこたーない
本多勝一の「日本語の作文技術」はイデオロギーと関係なく一読しておく価値がある

141 :
たぶん一番向いてるのはラテン語。

142 :
>>140
その作文ってのは、架空のことを事実であるかのごとく文章を作るってことだろ。

143 :
>>142
俺も偏見もってたけどまともに技巧的な内容。
文節は長い順に並べるとか

144 :
>>142
まさかプログラマ板に脊椎反射国士さまがいるとは思わなんだw

145 :
まさかプログラム技術板をプログラマ板とか言う
底辺な人がまだ生息しているとは思わなかった

146 :
>>143
んでも自分が読むときは
ただ要点を箇条書きにしてくれるだけでいいのにとか
思ってたりしない?
特に急いで内容を把握しないといけないときは

147 :
>>145
そんな言葉の使い方一つで底辺とか何とか人物像まで決めつける、
星座占いで人生決めるレベルの人がいつおは思わなかった。

148 :
分かったからもう書き込むな。
つーかわざと誤字入れてんのか?w

149 :
誰<いつお

150 :
やるおの親戚だろ

151 :
  き  うぼ
  ま  ら く
  っ  なの
  て  いす
  る  カす
  んダウむ
  だウンみ
い  ン トち
つ  で  は


152 :
俺が煽らないと途端に過疎る

153 :
いやいや、煽ってるのはオレだから

154 :
いやいや、俺だから

155 :
まぁお前らは実は煽られてるだけで
真に煽っているのは俺だから

156 :
暇人ども職安でも行っとけ

157 :

    / ̄ ̄ ̄ ̄\
   (  人____)
   |./  ー◎-◎-)
   (6     (_ _) )    カタカタカタ
   | .∴ ノ  3 ノ  ______
    ゝ       ノ  .|  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄

158 :
MS-BASIC勉強をしている>>157、がんばれ、ガンバレ!

159 :
ADLやSFINIEで悩んでる人のスレかと思ったらがっかりですよ

160 :
別にその話題振ってもかまわんよ

161 :
各コンパイラメーカーが便利機能を追加してあげているのに、
開発者が移植性を気にして新機能を使わなかったり、
みょうちくりんな回避策(#ifdefで切り刻む)を施したりするのは、どうかと。
何が言いたいかって、#pragma onceくらいいーじゃねーかよ。

162 :
#pragma onceは標準じゃないし絶対標準にしないって禿も言ってたし
あきらめろ

163 :
リンク(ファイルシステムの)とか考えると
「ファイルの同一性」 をどう判定すべきか決めるのが難しいとかいうことだっけ?

164 :
>>162
あのハゲそんなこと抜かしてんのか。

165 :
それとは別に、#includeを潰してもっとましな仕組みを入れたい、みたいなことを言っていなかったっけ?

166 :
そんな凝ったテクはいいから、__FILE__、__LINE__の延長で__FUNC__を作ってほしいな
意味はわかるでそ

167 :
次期C++で導入予定だけどな。__func__って名前だが。

168 :
マングリングされた関数名が出てきたら怒る

169 :
わざわざプリプロセッサでネームマングルしないでしょw

170 :
__func__ はマクロじゃなくて識別子だぞ。

171 :
C++ゲームのシーンなんかで、enumをたくさん使い、
switchで多分岐するのはよくないらしいが、
それを継承?を使いどう解消すればいいかさっぱりだ。

172 :
Strategy パターンでググれ。

173 :
>>172
サンクス。
ポリモーフィズムで調べていたから、近い所だったようだが、
こっちの方が解説に分かりやすい例が出てくる。
まだ理解がないから、わざわざクラス(ファイル)を
たくさん作ってめんどくさいと思ってしまうが、
辛抱してStrategy風にのっとってやってみる。

174 :
シーンの変更時にデータの受け渡しがある場合が
少し厄介なんだよね。>Strategy パターン
そのあたりよく考えて設計する必要がある。

175 :
ttp://www.e-chishiki.com/jpn/articles/programming_languages/cpp/internals_of_virtual_functions
ポリモーフィズムはここのサイトが基本的な書き方?
クラスの宣言をmainに書いているけど、
ゲームシーンの切り替えに使う場合、
親クラスのshapeの中にprivateで書けば、
サブクラスの切り替えが制限できるから、
使いやすいとか思ったり。
ただ、自らの中に自らを書く感じだから、危険な気もする。
>>174
まだ、データは別のクラスのpublicな位置に置いているが、
これもまたものすごくてこずりそうだ・・

176 :
public メンバ変数は害悪だ。
カプセル化を完全に無意味にしてしまう。
よく覚えておくように。

177 :
>>176
そうして
private: int foo;
public: int get_foo(){return foo;} void set_foo( int v ){ foo=v; }
と全てのprivate変数に対して書く輩が出てくるw

178 :
まあ、どうしても必要なら書いてもいいけどね・・・。
ブレーク貼れるくらいのメリットはあるし。

179 :
>>176
玄人気取りのニワカがよくそう勘違いしてるよね

180 :
get_ set_書くならpublicフィールド
ちぃ覚えた


181 :
protectedのこともたまには思い出してあげてください

182 :
C/C++ Coding Style Thread
http://pc11.2ch.sc/test/read.cgi/tech/1096687703/347
347 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/01(月) 09:21:05
>>346
protected は中途半端。
方針としては中途半端。
「見えちゃ嫌だけどちょっとは見えたほうが」
そんなの微妙すぎ。

183 :
Bカップだっけ?<微妙すぎ

184 :
C++にC#のプロパティみたいなのが欲しい

185 :
クライアントが「C++で」といってくるもんだから
Cのみで書いて、拡張子だけ"cpp"にして納品してみる。

186 :
>>185
それはだめだ。externなどの扱いが異なるのでコンパイルエラーになる場合がある

187 :
全部
extern "C" {
  :
  :
  :
}
でくるめば無問題。

188 :
リンカの問題はそれでいいけど
言語仕様の微妙な違いが悪さするともう…

189 :
実際、今日見たソースにはdeleteという構造体メンバがあった。
仕方ないので、
extern "C" {
#define delete delete_
#include <foo.h>
#undef delete
}
してみた。

190 :
これが関数名だったりすると、C でラッパ巻数用意しないといけないんだよな

191 :
C++って、親が酔っ払って作った不貞(ジョーク)な子供なんだろ?
プロレタリア文学を読んで悦に入ってる「なんちゃってインテリ」
と同じだって気づけよ・・・C++信者君(w

192 :
Spring has come.

193 :
>>184
マネージ拡張C++

194 :
プロパティよりもPascalみたいに関数内関数のほうが必要だ。

195 :
>>184
誰得

196 :
C++ほんとにみんな使いこなしてるのけ?
とりあえず人に提供してもらったライブラリ使ってるだけなんじゃないの?
Cだと書きなぐれるものが、C++でクラスの継承なんかを本気で使うと
すごく時間がかかってしまう。クラス内部で宣言した変数をめぐって
スパゲッティになりかねないし。どんな使い方をされてもメモリリークに対して
ロバストなクラスを人に提供するなんてのはすごく大変だし、神経も使う。

197 :
てきとー

198 :
そもそも開発現場が派遣の寄せ集めみたいなとこばっかだからスキルにばらつきありすぎてC++導入は難しい
ってのが現実かも

199 :
>>196
単なるお前の勉強不足
デザパタとUMLはこれから間違いなく主流になるぞ

200 :
中々リキの篭ったギャグっすね

201 :
なんでC++ってCとの互換性を持たせようとしたんだよ
せめてCの構文はextern "C" {}の中だけってことにしとけば
もう少しシンプルにできたと思う

202 :
>>201
C++を使わず別の言語を使えばよろしい。
C++のできた経緯からは当然のこと。

203 :
なんせC++の原形はC89以前からあるからね
互換性を保てと言われてもそういう経緯ではね・・・

204 :
関数プロトタイプとかconstとかは、CがC++から取り込んだ

205 :
そしてC99で決別した。

206 :
C++はおもちゃでFA

207 :
そしてC99は誰にも使われない言語になってしまった

208 :
>>41
おいおい…
せめせて
==ぐらい使ってくれ…orz

209 :
なんで今頃そんな大昔の書き込みにレス返すのか知らんが、
突っ込むなら「C++の戻す値はC」

210 :
ろくにオブジェクト指向について考えないで
テンプレートとかの悪用および勘違い技術ばっかり身につけてる奴ってどうよ。
始めは継承もテンプレもなかったんだからオブジェクト指向がどんなもんかそこからわかるはずなんだが。
いや、別に使うなってことじゃないよ。
どうも変な方向で覚えてる奴が多いんだよな。
STLやらBoostやら覚えることにはやけに熱心だけど
肝心のオブジェクト指向はさっぱりわかってなくて
設計が絶望的にヘタクソってのがいてちょっと心配。

211 :
>210
オブジェクト指向とテンプレートによる汎用プログラミングは軸が別じゃね?
どっちか使ってもいいしどっちも使ってもいいというのがマルチパラダイム変態言語 C++ の利点にして欠点じゃないかと。
別にテンプレートがどうとかじゃなくて、単に使うことに偏りすぎて設計が下手ってだけじゃない?
どうせテンプレート使った設計させても下手だよね?

212 :
C++が悪いだけだろ
オブジェクト指向やジェネリクスの精神を忘れて機能だけを悪用できてしまうのが悪いだけ
もっとまともな言語で再教育した方がいいよ

213 :
時には悪い事もする必要がある、がC/C++のスタンスだから

214 :
そろそろ、C/C++レベルで使える言語が出て欲しい。
ハードウェアに近い分野での。

215 :
C/C++を使えない人の戯れ言だな。

216 :
C++をちゃんと理解してるやつなんて、日本に何人もいないだろ。
つまり、テンプレートバリバリのプログラムを作って、
ワケのわからんエラーが出ても、すぐにバグの場所がわかるぐらいに。

217 :
俺、俺、俺わかるよ。

218 :
Google、コード検索から分かった統計を紹介
http://japan.internet.com/webtech/20090724/12.html
>たとえば、「オープンソース プログラムは、
>『C』と『C++』のどちらで書かれたものが多い?」といったような質問だ。
>答えは C 言語ベースのプログラムで、C++ の倍以上あるという。
C++涙目w

219 :
当たり前だろ
普及度でCに勝てる言語なんてあるわけないし
今後もおそらく永遠に現れない

220 :
だいたいCの正統後継者であるC99ですら10年経った今でも
マイナー言語だしなw

221 :
それは全く関係ない

222 :
Microsoft の『ATL』のコードに不具合、原因は「&」
http://japan.internet.com/webtech/20090731/12.html

223 :
void *の功罪

224 :
C++ で C スタイルキャストを使ったのがダメなんだろ。

225 :
つまりCで出来る事がバグになるC++は屑言語

226 :
安全かみそりしか使えないような奴が、
プロの包丁は危ないとか言ってるような話だな。

227 :
空前の床屋ブームで理容師不足ともなれば、
まともに剃刀も使えないレベルの奴にも仕事をしてもらわねばならんわけで。
そうするってーと、そいつらにとって「安全剃刀は素晴らしい道具」なんですよ。

228 :
坊主頭専門店か
質で差別化は難しいし、となると安さと早さの勝負になるか
ちゃんと修行してきた床屋には所狭しと飾ってある賞状やトロフィーの類が一切なく
儲けを目当てに他業種から参入してきた営業上がりの経営者が
ブーム終了とともに坊主頭専門理髪師を残したまま去っていく
たとえがぴったしなのが悲しい

229 :
安全剃刀で事足りる分野に颯爽と紛れ込んできては頚動脈を切って去っていく
これがC++プロ(笑)

230 :
昔は、覚えたての継承やら、例外処理やら関数オブジェクトやらデザインパターンやら
抽象基底クラスやら使って、不必要にソースコードを難解にしていたなw
後悔はしている
今は継承構造もなるべく単純にし、不必要な機能は使わないようにしてる。

231 :
せっかくある機能を使わないなんてもったいないだろ

232 :
折角ある機能なんだからJWordとかも積極的にインスコして使わないと勿体無いよな

233 :
>>230
あなたみたいのをC++上級者というんだと思う

234 :
C言語の方が難しい

235 :
アセンブリの方が難しい
何でも出来るけど何にも出来ない

236 :
C++って難しいのか?
Perlを覚えようと頑張ってるけど、C++より難しい気がする...

237 :
perlは俺も嫌いだ

238 :
perlは記号が多すぎだな。
PHPみたいにすっきりしてればいいんだが。

239 :
Perlは史上最も汚い言語

240 :
正確には汚く書け過ぎるってかんじか

241 :
Perlはどうしようもないな

242 :
C++は信者ですら簡単だとは言わないけど
Perl信者はアレをわかりやすい読みやすいと困ったことを平気で言う分タチ悪い

243 :
>>236
書くだけなら簡単。
だけど、人の書いたコード&過去の自分が書いたコードは読みたくないw
まあこれは”やりすぎた”C++プログラマでもあることだけど。

244 :
プログラミング言語の特徴を視覚的に比較する
ttp://d.hatena.ne.jp/KZR/20091001/p1

245 :
もうdefine使いまくるのはやめようぜええええええええええええええ
意味わかんねーんだよおおおおおおおおおおおおおお

246 :
#ifdefの嵐が>>245を襲うw
でも確かにSTLのソースとか異様に読みにくいよな…

247 :
>>246
俺が引き継いだプログラム書いたのはおまえか!
定義したマクロの関数2〜3回しか使わないならベタ書いてくれてでいいから!
いろいろ使いたいなら普通に関数定義してくれればいいから!
constで検索してまったくひっかからないとか冗談だろ!?
もおおおうううくぁw背drftgyふじこlp;「’」

248 :
>>245
boost 方面にも言ってやってくれ.

249 :
オブジェクト指向ってたいした事ないよな
C++のクラスもCの構造体に毛が生えたようなもんだし

250 :
http://codepad.org/EGbmhw93
クラスのoperator deleteが静的型で呼び出されるなんて今日初めて知った。

251 :
>>250
いや、それ未定義動作だから。
5.4.5 p3
> if the static type of the operand is different from its dynamic type, the
> static type shall be a base class of the operand’s dynamic type and the static type shall have a virtual
> destructor or the behavior is undefined.

252 :
>>250
ところが、Aに仮想デストラクタを設ければ、B::operator deleteが呼ばれるようになる。
なお、たとえBがoperator deleteを定義していなかったとしても、
基底クラスにアップキャストしたポインタを通じてdeleteするなら仮想デストラクタが必要。
結局、publicで非仮想的なデストラクタを持つクラスは継承すんなという証というお約束になっている。

253 :
C/C++は未定義とか処理系依存が多い印象
はっきり禁止と言えばいいのに

254 :
いろんなハードや処理系に対応しなきゃならないから仕方ない

255 :
移植性のあるプログラムを書くためには、-2^15〜2^15-1の範囲に収まらない可能性がある整数を扱うときには、
intではなくlongを使う必要がある。
けどこれは、例えば、intが32bit, longが64bitな処理系では、無駄以外の何物でもない。

256 :
そうか!!!
俺がオブジェクト指向を理解できないのは、
> 基底クラスにアップキャストしたポインタ
なんて言い方が平然とまかり通っているからだな!!!
底には落ちろよ!!!
なんで昇ってるんだよ!!!

257 :
UMLで基底クラスを上側に書くからだよ

258 :
>>257
基底なんだから、底に書けよ

259 :
UMLは日本発祥じゃないから
現地語で考えないとだめだ

260 :
悲しいかな、日本人なんだよ俺は
分かってる奴がちゃんと訳せよ

261 :
ツリー構造とかも上に根があって下に枝が生えていくよな
向こうの国の植物は皆そうなのか?

262 :
Smalltalkではスーパークラス、サブクラスと呼称している。
で、お前らと同じ事を思った我らが禿はC++で代わりに基底(Base)クラス、
派生(Drived)クラスという用語を作ったわけだ。

263 :
sub- には「下の」って意味がなかったっけ?

264 :
あるよ。ついでに言えば、super-は上とか超えって意味だ。
つまり、ジャスコなんかは超市場なんだな。

265 :
親クラス、子クラスと呼んでいる俺に隙はなかった。

266 :
GUIを暮らすライブラリで習うと
継承関係の親子と
Window関係の親子が
ごっちゃになって訳分からなくなる

267 :
翔泳社から2月3月とテンプレート関連の本が続けて出たけど
このレベルの本を書ける日本人の物書きっていないんだよなあ。
エビステーメーがC++標準化委員会だっけ?
ただ所属してるだけのような感じだけど。

268 :
何年経っても文字配列の大きさをチェックしない、
知り合いプログラマを見てるとC,C++には欠陥があるように思える。
少なくとも文字列処理に関しては。

269 :
そんな馬鹿は C で文字列つかわなければいいだけ。

270 :
>>268
C++にはstd::stringがある。Cと一緒にしてはいけない。

271 :
そんな奴はstd::stringすら適切に扱えないんじゃないだろうか

272 :
そして出てくる strstream とか

273 :
クラスはいらねえ!
ネームスペースだけCに追加してくれんか?

274 :
Cのような手動deleteなんかをいつまで使うの

275 :
C++ without class...

276 :
難しいって具体的にどこ?

277 :
C++を難しいという奴は勉強さぼってるだけ

278 :
このスレ立てた無能がこっちでがんばっているようだぞ。
C#は糞
http://pc12.2ch.sc/test/read.cgi/tech/1246520657/

279 :
>>274
auto_ptr使えば。
それで不十分なら、GCのある言語使え。

280 :
C++でマルチスレッドは不可能に近いってのは有名な話

281 :
>>280
kwsk

282 :
>>280
wktk

283 :
>>274
D言語使え

284 :
>>280
WIN32 API システムプログラミングという本にマルチスレッドの方法が
いくらでも書いてあるわけだが
しかも同期を取る手段まで網羅されているんだが

285 :
>>284
そういうのは移植性低いから openMP とか使うんだよ。
まあそれでもメモリ管理についてはどうにもならん部分がでそうだけど。

286 :
どっちにしろ不可能ではないんだろ。

287 :
>>284
Win32APIの話なんて誰もしてないと思うけどw

288 :
>>287
俺がしてるの
わかった?
Win32 APIならマルチスレッドは出来る
他のOSは知らん

289 :
>>288
つスレタイ

290 :
設計者であるお禿さんが難しいって言ってるんだから難しいんだろうな。

291 :
>>286
「不可能はないんだからアセンブラですべて組めばいい」
とか言ってるやつがいたらどう思う?

292 :
現実にC++で書かれたマルチスレッドのプログラムは
Windowsに限らず大量にあるわけだろ。
それを前にして、「不可能」と言い張るのはなんか意味があるの?

293 :
>>292
馬鹿だと思う
「不可能」という自分の言葉に酔ってて現実が見えてないだけだよ
多分無職だろう

294 :
偶然動いているだけと言う事実に気付けない馬鹿ばっか

295 :
>>294
偶然動いているという事にして自分の心の安定を図りたいだけの馬鹿発見

296 :
C++に問題はなくて人次第なのに、そこに不可能って単語使っちゃうって馬鹿じゃないの
紛らわしいからR

297 :
お前には無理

298 :
C++よりも簡単にマルチスレッドプログラミングをできる言語もあるかもしれないが、
C++でマルチスレッドプログラミングができないというわけではない。
そもそも、マルチスレッド動作させるだけならそれほど難しくない。
同期を取る必要が出てきて始めて、難しくなるんだ。

299 :
マルチスレッドの何が難しいの?
必要に応じて排他処理させるだけでは。

300 :
だからC++でマルチスレッドができないと言ってる奴は馬鹿だって
放っとけ

301 :
ほうっとく

302 :
不可能に近いを不可能と読み替えて勝手に怒り狂ってる奴って何なの

303 :
そうだね。
誰かさんにとって不可能に近いってことなら単なる事実だろうし、
赤の他人に全然関わりのないことだよね。

304 :
メモリをだだ漏らし共有データを壊しデッドロックを場当たり的に躱しつつ
ごく短い時間なら走れるプログラムを「動く」と呼んでいいなら信者の意見も正しい

305 :
>>299
必要に応じるのが難しいと言ってるのに、キミは馬鹿なの?

306 :
>>304
だからマルチスレッド関連の本にはちゃんとデッドロック対策も
スタベーション対策もレース状態の対策も書いてある

307 :
本だけ読んで実際には何の実践もした事が無いデッカチ君は帰りな

308 :
>>307
はあ?実践してますが何か?
お前こそC++でマルチスレッドのプログラム書いた事ないだろうが

309 :
マスターベーション対策

310 :
あーはいはい
自分一人でシコシコ書いてる分にはさぞ簡単だろうなw
誰もそんな自明な事を言及してないと思うが

311 :
会話レベルが高くなってきたwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>>310
複数人で、C++で、マルチスレッドプログラミングをしているの?
まるちすれっどだけでも不可能に近いくらいむずかしいって言い放っちゃうアホもいるほどむずかしいかもしれないようなに気配のするものなのに><;

312 :
>>310
お前みたいな単純バカだと人生楽だろうな
でもプログラミングは出来ないだろうよ

313 :
糞コテがわいた時点でこの話題は死んだ

314 :
八つ当たりされた

315 :
>>298これが真理

316 :
どうせマルチスレッドなんてやったら逆に遅くなるような
短いコードしかいじってないんだろ。

317 :
数年の継続案件で延べ10人以上が関わっててコードが数十k行ってても同じ事を言えるかだよな

318 :
マジでいまの2chってなんなの????
>>316
なんでこういうゴミみたいなレスをだれも叩かないで放置してんだよ
叩くのが飽きたから???
それとも間違いがわからないから????
本当にイラつく
R

319 :
間違ったレスが放置されてそのままになった時
真実がわかるのは初めから知っている奴だけ
ゴミみたいな学生が2chの情報を鵜呑みにするから、リアルで意味わからない事を言い始めるんだな

320 :
うるせえよ屑
レス順的に放置したのはテメェだろ
そのまま脳卒中でR

321 :
トリップ違う?騙り?

322 :
マスターベーション中毒患者 C#病院に行くらしいまで読んだ!

323 :
とりあえずFirefoxやChromeがC++で書かれていることを思い出そう

324 :
だからなに?バグだらけじゃん

325 :
各種OSもね。

326 :
バカには無理!
以上!

327 :
JavaもC++で書かれてるという衝撃の事実。

328 :
C++はCで書かれているという衝撃の事実。

329 :
CはCで書かれているという衝撃の事実。

330 :
鶏の卵は鶏から生まれると言う衝撃の事実。

331 :
女は女から生まれるが男も女から生まれるという衝撃

332 :
オナニー後にふき取ったティッシュが亀頭に張り付き剥がす時に痛いという衝撃の事実。

333 :
Rにトイペが付いてることがあるので舐める前に良く確認しなければならないという衝撃の事実。

334 :
オナニー後に精子が糊の役割を果たし尿道を塞いで尿が二股に分かれて出てしまうという衝撃の事実。

335 :
なにこの糞以下の流れ

336 :
>>335 自演乙

337 :
C++はネーミングが簡単すぎるだろ、難しさから言ったら
C++++++++++++++++++++++++++++++++++++++++++
これぐらいだろ。

338 :
あーはいはいおもしろいね

339 :
c--が最近出来たぬ

340 :
シーマイマイって読むの?
シーィーかな?

341 :
よし、マイマイマイ!広がるぅー!

342 :
シーマイナ
シーマイナ
シーンジマイナ
に見える

343 :
C++ が後置なのは C++ != D にするため

344 :
>>343
C++の方がDよりはるかに歴史があるわけだが

345 :
CはBの次という意味だが、
これは単にアルファベット順で次だというのではなく、
B言語の元になった「BCPL」の順番で考えて次になっているからというもの
しかし、アルファベット順で次だという風に誤解されてしまったため、
次の言語をP言語にし辛くなってしまった
そこで、次の言語はC++とすることによって、
次はDじゃないよ、つまり、C++ != Dであるということを強調したのだ
民明書房 「死威腐羅巣腐羅巣の歴史」より

346 :
C#はCよりちょっと上って意味でつけられたらしい

347 :
C++ → C♯
 ++

348 :
C#はちょっと上どころかC言語とは完全に別の方向に進んだ言語だけどな

349 :
なんで++CじゃなくてC++になったのかって問題が
C++Primerの練習問題になってた気がする

350 :
どう考えても見た目の問題だろ

351 :
超入門書に書いてあるよくあるたとえ話
ポインタを実際の住所に例える
クラスやインスタンスを車の設計図と実際の車に例える
オブジェクト指向の本とかでよくある「動物」で、犬が「ワン」猫が「ニャー」等
変数は「箱」です
こういうのは誤解を招くし余計わけがわからなくなるからやめたほうがいい。

352 :
じゃあ代替案出せよ

353 :
ダックタイピング禁止

354 :
オブジェクト指向の説明にAnimal/Dog/CatやらShape/Circle/Rectやら最初に使い出した馬鹿は誰なの?

355 :
Webコミック「21日でC++を習得する方法」
http://gihyo.jp/dev/clip/01/orangenews/vol56/0009
これでお前らでもC++が使えるようになる!

356 :
>>355
つまんね

357 :
笑い所が分からんな
毛唐の感覚だと理解出来るのかな

358 :
C++の話(本当にあった怖い話)
http://gihyo.jp/dev/clip/01/orangenews/vol58/0007
C++は経験あるベテランでも理解できないほど難しすぎ

359 :
>関数の頭にプログラマの名前が付く
これはないが 自分の名前.so は作ってしまったことがある

360 :
C++は環境作りの段階で躓く。
たんにコンパイラをインストールするだけなら簡単なんだけどさ。
ちょっと変なライブラリを入れようとすると
すんなりいくときは行くけど、はまると2、3日はヘーキでストーンってすっ飛ぶ。

361 :
Rubyもそうだね
(特にWindows)

362 :
>>359
javaのドメイン反転ネームスペースじゃないけど
会社名を入れるってのはよくやる。
jp.co.xxxx.hogeみたいなのをjp_co_xxxx_hoge.oって。
すんげー冗長でかっこ悪いけど。

363 :
それよりもお前ら
ZEROは数じゃねーぞ!!!

364 :
>>351
あれはもはやギャグだな
コードと動作のほうが百倍分かりやすい

365 :
>>364
読者が、分かった気になりさえすれば良いんだろう...たぶん

366 :
変数はともかく初心者の頃は「ワン」「ニャー」
でよくわかったけどな。is-a関係だけだけど

367 :
あれで分からない奴はワンニャー並みっていうメッセージだよ

368 :
これ ; デリミタっていうんだけどさ、これをつけなきゃエラーになるような
そんな言語使ってる奴ってどうみてもゴミだと思うんだけど
もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの?
そうか、二度と話かけんなよ
ゴミが何いってもゴミ

天使#test_s
「天使の煽り」の提供でお送りしました

369 :
ハーベイ・M・ダイテルの本と林晴比古の本とどっちがわかりやすいですか?

370 :
晴にゃんだろ

371 :
[迷信] コンパイルエラーが出るのでアクセス指定子を修正
http://www.kijineko.co.jp/tech/superstitions/modify-access-specifiers.html
C++使ってるヤツって馬鹿しかいないの?
やっぱりCじゃないとな

372 :
そして、グローバル変数だらけのCコードに回帰するわけですね、分かります。

373 :
ちんちん++

374 :
>>372
なんでもpublicにしてる時点でグローバル変数みたいになってるから大丈夫

375 :
「アクセサは免罪符にならない」ってのも記事に付け足すべき

376 :
フィールドごとに getter/setter を用意するな
ttp://d.hatena.ne.jp/bleis-tift/20090126/1232949719

377 :
はーぁ、deleteしたらNULLに〜・・・
なればな・・・・
良いのにな・・・・
ま、もうなれたから良っか

378 :
>>377
delete はスマートポインタの仕事。
そんな動作を欲しがるほど自分で delete を書いてるのが間違い。

379 :
スマポとintrusive_ptr(インポ?)があれば大抵の事は済む。

380 :
なんとかポインターが多すぎる
コンテナとイテレーターだけでいいだろ

381 :
デザインパターンの実現でのために頻繁に使う相互参照や循環参照を今の企画だと標準で楽に安全に実装できないことがC++を難しくしている

382 :
循環参照を楽で安全に扱おうとしたら自動GCしか方法がなくね?
C++的にはまだ今後の課題だな

383 :
つ[weak_ptr]

384 :
weak_ptrって性能はどうなの?

385 :
気になるなら自分で計測しろよ

386 :
すでに計測してあるのがあるなら
それにこしたことはないし
自分で計測だと自分の環境でしか測れないじゃん

387 :
自分の環境以外の計測結果を信じて自分の環境のプログラムに反映するのかい?

388 :
実行するのは別に自分の環境じゃないし

389 :
変数 C がインクリメントされ
いつの間にか
Cの値(C言語の素晴らしさ)がとてつもなくデカくなっている件

390 :
後置だけに価値は変わらない

391 :
ポインタは電話番号です(キリッ
って参考書がなぜか高評価なんだよなぁ

392 :
C++って言語を開発するための言語だろ

393 :
>>391
kwsk
流石に電話番号は無いわ……
>>392
元々はCでC++コンパイラが書かれたんじゃなかったっけ

394 :
awful

395 :
>>391
住所(アドレス)ですならわからんでもないが・・・。

396 :
郵便番号です
だとしたら?

397 :
>>396
郵便番号だけ書いてもハガキ届かないから駄目じゃね?

398 :
公社の時代は、執念で、宛名のひとを探して届けてくれたそうだ

399 :
ずうっとおなじ家に住んでたら、しってるひとがいるもんだ

400 :
執念のぬるぽ

401 :
番地も書いてないざっくりした住所でも
まちがった住所でも
郵便局はがんばって届けてくれてた記憶はたしかにある。
地域に根ざしてたのね。


402 :
マイコンの経験があれば、ポインター≒間接参照(又はインダイレクトアドレッシング)、で通じるけど、
ハード知らない者に、ハード寄り言語を教えるのは工夫が必要。

403 :
ポインタ恐怖症です

404 :
>>401
おまいらネラーみたいに面倒になって捨ててた局員もたまにいたけどな

405 :
田舎だと、村長より偉い、殿様局長様だったから、
宛先の違う手紙など、コアダンプしてやる!

406 :
shared object... .so

407 :
スレタイの「難しい」ってどんな所なんだろ?
俺の場合だと、Cで組みにくいロジックに当たった時にC++で解決、ってやってるから特にC++が難しいと思ったことは無いが。

408 :
Thursday, February 14, 2013
Dev-C++ 5.4.0 released
http://orwelldevcpp.blogspot.jp/

409 :
参照はC++で最悪の仕様
暗黙でアドレスが渡されるとか、マジで正気を疑う

410 :
NULLを渡せない最高の仕様だよ

411 :
関数を呼び出す側のコードを見ただけでは
引数が書き換えられる可能性があるか否かわからんのがクソ > 参照

412 :
非 const 参照は C++11 から std::reference_wrapper を使えば、呼び出し元が
std::ref() になるからそこらへん問題なくなるんだよね?

413 :
>>411
へえ、配列渡しを見ただけで書き換えられる可能性があるのか分かるのか
へえ

414 :
関数呼び出し側だけをみたら
書き換えられる可能性があると考えるしかないだろ馬鹿か

415 :
設計の悪さを言語の所為にするなってことだね。
どの途自然言語に比べれば自由度は低いんだから。

416 :
配列や特定のメモリ空間を指しているポインタなら、呼び出し元が
関数にアドレスを渡していることを知っているから
その先が書き換えられることが予想できる
参照は普通の変数のコピー渡しのように見えるくせに
呼び出し先にアドレスが渡っているという極悪っぷり

417 :
アドレスが渡っていると思い込んでいる辺りが間抜け。
そんな規定はどこにもないし、アドレスを渡さなくていいからこその最適化が行なわれるわけで。

418 :
参照のある言語で、コピー渡しのように見るなよと

419 :
C#やJavaの参照渡し値渡しがクソ

420 :
まず、C言語をそこそこやる事だな。その次にオブジェクト指向を学ぶ。C++はそれから。
確かに最初にいきなりC++はちょっと難しい。いきなりやるとC++を使いながらオブジェクト指向と
無関係なソフトを組む。
JavaとかC#を先にやると変な癖がつくようにも見える。
>>419
ある程度同感。需要があるんだろうけど

421 :
Cを起点に考えると、C++への方向と、Java/C#への方向とは、進化の目的が違うからね。
C++・・・システムプログラミング向け。ハードの進化も利用。
Java、C#・・・アプリケーション向け。ハード詳細を知らなくても済む方向。

422 :
当初のJavaはC++の悪いところを反面教師としたんだろな。徹底的に。
中途半端なジェネリクスなんて無くて非常に気持ちよかった。
C#はさらに、ひょっとしたらJavaに不満を持った人の支持を得ようという狙いもあったんじゃないか。
値型とか、そりゃ欲しいのはわかるが、それでrefとかoutとか、さらにdelegateとか。
うんうん、そういうの欲しい人居るんだろうけどね、というある種の突き抜け感あり。

423 :
C#はツギハギだらけのモンスターだからな

424 :
refとoutはちょっと良いかも知れない
呼び出し側に規制するという意味で

425 :
JavaはC++とは全く似ていない。Cとも似ていない。
似ているのは見てくれだけで中身はSmalltalkの方が近い。

426 :
演算子の優先順位すらないウンコ言語じゃダメってことで
Javaが作られたからな

427 :
ネイティブ無しでコンピュータを役立たせることは不可能だ

428 :
BASICソースがネイティブのチップも有るけどな。

429 :
smalltalkerからみたJavaは
がっかりおっぱいだったけどな

430 :
月日の経過とともにどんどんがっかりになっていく
ぼいんぼいんのサイボーグおっぱい

431 :
C++の演算子の順序は決められてた筈だが?
C++はコンピュータの基本構造、オブジェクト指向の両方を学ばないと活かせない。
それでも単に手続きを組むだけでPCで非ネイテブよりは速く動くが。

432 :
JavaやC#などBASICみたいなもんだ。言語仕様が言語の限界

433 :
言界

434 :
てt

435 :
>>419
Javaっていつから参照渡しできるようになったの?

436 :
プリミティブ以外は参照しか渡せないでしょ

437 :
C++++++++++++++

438 :
C++が難しいんじゃなくて前提のCが難しいんじゃないの?
コンピュータって機械に興味がないとポインタを覚えにくい

439 :
>>436
Javaは参照型変数の値渡しでしょ。
foo(Bar bar) { bar = xxx;}したときの動きを考えれ。

440 :
テンプレートとマクロを駆使して
構文破壊してでもC++で実装したふりをする魔術師共が恐ろしい

441 :
c++ <- 十字架へ磔にされたキリストと2人の死刑囚

442 :
>>440
もうC++はやめてC+++とかにしたほうがいいと思うんだよな。
メタとかジェネリックとかわかっているとのちのち生産性も上がるし、
高度なことをしていると思えるから自分はいいんだけど、
よっぽど恵まれた職場でない限り、周りからは
「これななんの呪文?」っていわれて説明したりして実は生産性が下がるんだよな。

443 :
バージョンあげるたびに+を増やすんだな

444 :
今はC+++++くらい?

445 :
なんか呼び方あったと思うけど単純なクラスがあるCが一番いい

446 :
CもC++も独自に進化してバージョンが上がってる。Cが拡張されるとC++も互換性を保とうとする。

447 :
結局コンセプトってどうやって使うの?

448 :
>>444
今度C++++++++++++++++++++++++++++
になって、またその後に++が3つ増える

449 :
悟空の戦闘力みたいに途中でどうでもよくなってしまいそう。

450 :
面接官「あなたの使える言語は?」
応募者「えーっと、CぷらぷらとCぷらぷらぷらぷらとCぷらぷらぷらぷらぷらぷらぷらとC〜」
面接官「もういいです。」

451 :
C++++って言ったらC#と思われるオチ

452 :
面接官「あなたの使える言語は?」
応募者「えーっと、パイソンです。ナムパイとパイパイとパイパイjaを〜」
面接官「もういいです。」

453 :
面接官「あなたの使える言語は?」
応募者「日本語のみですが、何か?」
面接官「もういいです。」

454 :
うーん、ネタにマジレスになるが
面接官が「あなたの使える言語は?」などと聞きはしない。

455 :
面接官「今C#の人手が足りてないんだけどどれくらいできる? あ、できないなら帰っていいよ」

456 :
「C++が難しすぎ」ってのはノイマン式コンピュータの仕組みを理解できないって事じゃね?

457 :
1000ページを超える規格書ということで、
ある程度の複雑さは仕方がない

458 :
ライブラリと称して変なトリックをぶち込みまくったから

459 :
printf文の事か?文字列型変数という物を扱っていれば理解が難しいかもしれんが

460 :
どちらかというと scanf() 族では

461 :
いやテンプレートまみれのモダンC++の話だろ

462 :
そっちか

463 :
後から標準ライブラリとか言われた感があったな

464 :
ID:WP7oRJZ8 って、C++ って単語を使ってるものの、単なる C の話をしてる様にしか見えない・・

465 :
CとC++を区別しない癖が抜けなくてね。ここからがC++ですって状況は無かったからな

466 :
なにこの、ID:WP7oRJZ8ひとりだけ精一杯背伸びしながら喋ってるような状況は

467 :
就職した時からVisualStudio使える連中は良いよな、苦労知らずで。
C++が使ってくれよと手招きしてる状況でアホ上司が使わせない苦労は分かるまい。
かと思えばVC++で組んでるってだけでオブジェクト指向言い出す新人のおもりとか
やらされるし

468 :
小学生が三角形の面積の求めかたを連呼してるみたいに聞こえるぞw
小学生「てーへんかけるたかさわるにっ!てーへんかけるたかさわるにっ!(どやぁ」
大人「お、おう」

469 :
>>468
不思議な感性の持ち主だね、君

470 :
自分だけ苦労してると思ってやがるw
オブジェクト指向という言葉を聞きかじってる分マシだろ?
俺なんかC言語も知らないズブの素人のおもりなんだが。しかも別会社の

471 :
そういう奴に限って三角関数とか学校に忘れてきてるけどなww

472 :
業務経験無いのが丸わかりですわ

473 :
>467の状況で>465って矛盾してねぇ?

474 :
>>470
俺より苦労してる奴に言うつもりはないよ。レスしすぎた結果、叩きに来た奴が来たから
払ってるだけだ

475 :
>>472
お前がな
>>473
お前も苦労知らずだな。上司に手足縛られながら使える機能を使うしかない状態で
一々線引きが出来ると思ってんだからな
だからノイマン式コンピュータを知らん奴しか言わんのだろ>スレタイ

476 :
>>472
お前のような奴が書いた使えないコード直させられる身にもなってみろよ

477 :
>>473
お前の最初にC++で書いたコードはC++の仕様を全部使い熟しているのか?
仕事中にそういう離れ業が出来ると思ってるのか?

478 :
このスレの内容の技術レベルに到達して無いのよ、要は。
その後の転嫁もみっともないし、それを客観視も出来ていない。もう発言やめとけって。

479 :
>>478
だよな。
自分ひとりだけ周回遅れなのに本人、それを分かってない。
だからなんかチンプンカンプンなことを平気で言い続ける。
毎日そうやって釈迦に説法してんだろうな。

480 :
笑わせるなよ、ネイテブが書けないトーシロの集まりだろ?こいつら
ポインタが分からないレベルかと思ったが、意識しないでも書く方法もあるからな
「C++で悩んでます。C言語なんて簡単です」って言える訳だ。

481 :
test

482 :
ここまで底の浅さを自覚できないでいるってのも凄いな。

483 :
正直>467で何に苦労してるのかさっぱりわからん

484 :
口だけ達者な未熟者に苦労している

485 :
いいよな、その程度で他人を苦労知らずだって非難できるんだから

486 :
その程度で人を周回遅れとか言う方が笑いものだろ
だいたい何が「いいよな、」なのか意味不明
面倒なライブラリを嫌がってた奴がいたから、ちょっと同意を見せただけで
まさか同レベルと思ってるんじゃないだろうな?

487 :
>>1
何を今さらw

488 :
C++が難しいんじゃなくてライブラリが使いにくいんじゃ?>>1

489 :
MSのライブラリは最悪だからな

490 :
難しいのは当たり前
熟練者にとって生産性が上がるように進化してるが
理解しなければいけないことはどんどん増えている

491 :
優先度が低く複雑度が高いものを導入して劣化していくコースに嵌り込んだのではないか

492 :
使わなければ、どうということはない

493 :
UFC 128 - : ジョン・ジョーンズ vs. マウリシオ・ショーグン
https://www.youtube.com/watch?v=wia_sFsAf6g

494 :
理解できなければ、使わないのが一番賢い選択。

495 :
C++って、コンパイラ・コンパイラ・コンパイラだから

496 :
テンプレートと例外が便利

497 :
STLもboostもノータッチですわ
今時はC++で正規表現が使えるんだっけか

498 :
他の言語はあれは駄目これは駄目って感じで窮屈。C++は自由!
あれを忘れてた、これを忘れてたって事になるけど

499 :
テンプレート大好き
例外はなんか嫌い

500 :
>>499
テンプレートも例外も大好きだ・・・
なんでも例外投げる
コードがとてもシンプルになってグッドです
最終的に誰がcatchするんかは知らんけど、
少なくともデバッグの役には立ってる
もはやコレなしには生きられない

501 :
>>500
たまにコードがググっとスッキリする時は使うんだけどねえ
gotoと同じくらいの頻度だわ

502 :
ハゲしねwwwwww

503 :
俺なんかpairで挫折したわC++

504 :
どこに挫折する要素があるのか…

505 :
>>503
コンパイラについてるソース見てみよう
pairなんて、ただ2個のメンバに入れてるだけ
しかもムーブ付き
忙しいときにmakeとかしちゃって良いんだろか?
って思ってたけど、わりと単純な仕様で低コスト

506 :
pairは簡単だけど、tupleを自前で作ろうとしたら死ぬ思いをした

507 :
自分が使える技術だけで書けばいい?

508 :
>>507
最低限、これは知っとかなきゃダメでしょう
っての以外は、必要に応じてだと思う
Cと共通するような部分、基本的な言語仕様、昔ながらのポリモーフィズムって感じな
やり方に加え、少しばかりテンプレートに慣れ親み、それとの違いを認識し、それに
加えて右辺値参照、ムーブセマンティクス(これらは必須)を抑えとけば、とりあえずは
十分だと思う
あとは必要になってから、その都度学習する
最初から全部とか無理

509 :
面倒な技術を使う場合、大抵出来る人がラッパ組んで他の人はそれ使うだけじゃない?

510 :
今はJavaもC#もテンプレート&関数オブジェクト全盛だし
相対的に難易度は減ってると思うんだけどな
今メジャーな言語でC++固有の難しい所ってvirtual継承とムーブぐらいじゃね
細かく見ればunionとかplacement newとか色々あるだろうけどさ

511 :
c++の凝ったコードを見てると上には上がいるんだなーと思わせてくれる
しかしdefineが使いまくられているコードは読む気が失せる

512 :
defineだけが頼みという事もあった。こりゃC言語じゃんって有様

513 :
rubyも難しい

514 :
ってかいろんなパラダイムが共存しすぎ

515 :
GUI専門言語とか計算専門言語とか通信とかデバイスとかオブジェクトライブラリの標準化で楽になろうよ
…でも専門に作ったはずが何でもやるようになるのもよくある話

516 :
>>515
もうどっかの標準規格団体がビシッと決めてくれないかね?

517 :
標準から外れた新しいハードを作ろうとする連中をビシッと排除することが大事

518 :
それはC++で決まりだな

519 :
Embedded C++の復権はまだですか

520 :
初心者会の動画を見てわかったこと
C++は初心者レベルになる事すら難しすぎ

521 :
未だに難しい書き方した方が偉いと思ってる馬鹿が一番多い言語。

522 :
まあ最新の書き方の使い方を広めるために
プログラムの仕事はしませんとか言い出す馬鹿がいるような言語だからな。
c++ がいかにそういう馬鹿であふれてるか表す良い例だと思われる。

523 :
C++は使う機能だけ学べば使えるようだけど
高度な機能を使ったソースを読み下して学習が捗らない
古いCのソースなら何とか読み下せるけど
C++恐ろしい子

524 :
せやな

525 :
質問ではない

526 :
せやな

527 :
スタティックなメンバ関数からインスタンスへのリファレンスをstd::make_sharedで作ろうとしたら
プライベートコンストラクタが呼べねぇって怒られた
暫く「は?」ってなった

仕方なくfriend struct __gnu_cxx::new_allocator;したらMacでビルドが通らなくなる事案が発生。
最後にはもう何もかも面倒くさくなってpublic:したけど
今ググったら継承させたクラスを関数内に作ってup-castする方法が出てきたわ。
引数無くて良いならこれでも良いんだけどね・・・。

528 :
それ多分使い方間違ってると思うの

529 :
C++は入門書すら難しすぎ
Bjarne Stroustrupのプログラミング入門書の査読の感想
ttps://cpplover.blogspot.jp/2016/08/bjarne-stroustrup.html

530 :
>>529
紹介されたページを読んでみたが、C++の入門書じゃなくて
プログラミングの入門書で使用言語がC++って本みたいだね。
あと、内容が難しいんじゃなくて、内容が酷いという意見。
これから訳書を売り出そうってのに原書をボロクソに貶すとは
思い切った人だわ。それだけに信憑性も感じるけど。

531 :
「内部コンパイラエラー(ICE)に関するものなど深刻なものを含む110以上のバグが修正されている」
GNU Project、バグを修正した「GCC 6.2」リリース | OSDN Magazine
https://osdn.jp/magazine/16/08/23/160000

532 :
よく知らないけどテンプレート機能ってマクロみたいなものだよね
マクロを読んで理解したりマクロで展開されたコードを読み下すのって地獄ちがう?
LISPの同期しながらネット上でやり取りするコードもマクロを使っていて
生成されたコードがボリュームテンコ盛りかつなにやっているのか意味不明な難易度だゲンナリすると言う
理解できないー学習に剥かないー当然不具合の発見も困難な感じ

533 :
>>532
マクロだと地獄になるから
そうならないようにしたのが
テンプレートじゃね?

534 :
マクロ地獄から抜け出せたと思ったらテンプレート地獄に堕ちた、みたいな。

535 :
STL地獄

536 :
Cよりは簡単だと思うけどな
Cはいちいち「そんなのわかりきってるだろ」みたいなことまでつらつら書かないといけないのに
C++は簡明に書けるし
学生時代にCのレポート書いてるときにめんどくさくなって、楽だからって勝手にC++で書いてたら、しばらく担当教が授気づかなかったな
すっかりCの仕様忘れてしまった。
CよりC++の方がずっとわかりやすくない?

537 :
書くのは楽でも読む方は苦痛ってプログラムになってそう。

538 :
list実装してこいって課題でstd::list使うマンやってたなーw

539 :
ラムダでつまづきました。
どこかよいサイトか書籍ありませんか?

540 :
>>539
「ラムダ式 C++入門」っていうサイトが分かりやすいよ。

541 :
>>540
有難うございます。
早速読みました。

542 :
C++難し過ぎ、クロワロタwww

543 :
使いこなせれば、これほど便利な言語はないよ。

544 :
自分で書ける程度にはなったが
読める程度には至らない。
知らない機能、文法が多すぎる。
入出力イテレータなんて使った試しがない。
STL難しすぎ。

545 :
C++ほど機能が煩雑な言語って他にあるのか?
テンプレートやスマートポインタのような基本的機能もそうだが、
戻り値の型に依存した例外処理、引数の参照渡し、new()との相性の悪い*なしクラス型など、
後発の言語が採用しなかった一貫性の無い仕様や、
#defineマクロ、グローバルstaticやヘッダとソースの分離などの70年代の因習をそのまま残しており、
しかもC時代に由来するmalloc/free、typedef struct、グローバル関数などをそのまま使う人が多い。
標準ライブラリにもstdio/iostreamのような重複が全体に生じている。
それに加え、ラムダ式やジェネリック、右辺値参照、constexprなどの機能拡張も進んでいる。
STLやBoostなどのライブラリも加えればきりがない。

そのくせまともなガベージコレクションはない。

実際のプログラミングではコーディング規約で一貫したルールを定め、余計な機能は使わないようにするのが普通だが、
やはり現代的な言語に比べるとずいぶん使いづらい。組み込み用途、DLLやドライバの開発以外では用いるべきではないのかも。

546 :
スマホでマイクラがサクサク動くような時代にGC積んでない言語って正直厳しいと思うの…
それに組み込み系でも別にc++なんて使わなくてもcで足りるし
でもGCを積んだら積んだでc++の存在意義が薄くなるしそれなら他選ぶよってなるわ
objective-cとswiftみたいに代替言語でてくるかもしれんし(使った事無いけど)

結局所詮道具なんだからシンプルで扱いやすいほうがいいに決まってるんだよなー
c++erの行き着く先はスパゲッティ職人っすかね

547 :
C/C++ は低級が売り
これ以上複雑にしなくていい

548 :
GCなんて余計管理が困難になる気がする。
GCは不要。

549 :
objective-cは{}じゃなくて@を強制されてひたすら読みづらいし構文がクソきもいけど
そこらへんをc++かjavaに近づけて
appleじゃなくてWindows(とLinux)が採用してればobjective-c使ってたわ
どうしてもCocoaかiOS周りにしか使えないからクソなんだよなぁ
まあそれでもcのライブラリが潤沢だから使おうと思えば使えるけど
言語自体はシンプルだから、実質apple専用ってのが残念だわ
一応WinObj-CがあったりGNUstepがあるのはしってるけどmacosと同等につかえるわけじゃなし
swift完全移項して空気になってしまうなら悲しいなー

550 :
高級言語は高級側を目指せばいいけど、CやC++は低級を保ってほしい

551 :
boehm GC で普通に十分

552 :
>>547
そういうとこにすら表れてるよな
物事を複雑にして喜んでるようなスジの悪さが

あんなクソみたいな表記のラムダ式持ち込んで一体何がしたいんや(笑)
右辺値参照(笑)ムーブコンストラクタ(笑)型推論(笑)

553 :
>>552
それみんなコードが簡潔になる機能じゃん。

554 :
548 :デフォルトの名無しさん [sage] :2017/06/19(月) 09:36:34.36 ID:S/5ZPkdK
C/C++ は低級が売り
これ以上複雑にしなくていい

555 :
仕様が複雑だから理解できない、っていうのをdisる理由にされてもな。

コードが簡潔になる事が重要。

556 :
コードが簡潔になることを最重要項目としてほしくない、CやC++の役目はそうじゃない
という主張

アセンブラとの親和性、非常に低レベルな環境への対応、命令レベルの速度チューニング、...
そういう低級言語としての役目が重要であると

557 :
>>556
C++ の時点で「アセンブラとの親和性」とかあり得ないんだが‥

558 :
メジャーなコンパイラですら規格に対応しきれてないのにさらに仕様を増やすとか、規格自体が目的になってる感じで

私自信は規格書も読んだり、積極的に新規格についていってるつもり

559 :
>>557
C++とアセンブラの混合コード、よく書くけど

560 :
製品でも

561 :
>>559
それは extern C なんでしょ?

562 :
そうだけど

563 :
コードが簡潔、ねえw

564 :
別に低レベル性を犠牲にしているわけでは無いのだからデメリットは無いでしょ
機能追加で便利になってるのに、何が複雑なのかわからん
仕様が理解できないって意味で複雑って言う主張なら、使うなとしか

565 :
c++至上主義者達は難解なパズルを解いてエレガントにプログラムすることが全てで
可読性とかそういう他人のこと考えてないとこないですかね・・・?
追加する仕様の方向性もまさにこういうとこが見受けられるから文句も言いたくもなるわ〜
別にc++つかっててもできるだけシンプルに見やすいようコーディングしてる人は好きよー

566 :
C++は最強

567 :
C++はF1マシンみたいなもん
ちょっと近所に買い物するのにわざわざF1マシン乗りたくないし
しかもC++は速いけど脆いマクラーレンかな?
pythonとかjavaが人気なのは
上質なリクライニングシートにクーラーとカーナビもついてるからなんだよなぁ

568 :
プログラムは、小さくて速いのがいい。エレガント、可読性なんて二の次だ

569 :
じゃあフルアセンブラだな

570 :
> 機能追加で便利になってるのに、何が複雑なのかわからん

そういう感覚なんだろうなw
何が複雑かのセンスがそーいう状態なんよ
俺が何を言ってるかも、多分分からんやろな

571 :
C++の書籍って、浅い入門書か、すでに使いこなしてる人向けの高度な本の両極端なイメージ

572 :
やはり、コードの字面から動作を予測しやすいというのがわかりやすいプログラムなんだと思う。
そういう意味で、テンプレート、オーバーロード、SFINAE、ADLなんかを駆使してドヤッてるC++プログラムは
マクロ使いまくりのLispやCなみにわかりにくい。

573 :
>>565
実用的かどうか。これに尽きる
自己満のゴミプログラムなんていらない

574 :
複雑と思うなら、その機能を使わなければいいだけでしょ
低レベルさに加えて、流行りの高級機能も使えるという、「選択権」があるのがC++の良いところなんだから

自分の理解不能な機能を見て、ドヤってると感じるのは劣等感じゃね?
もちろん、普通に関数作れば良いところでlambda使って無駄に読みにくくしてる人がいると言う事実には同意する

575 :
例えばマクロを多用したプログラムが理解しにくいというのと、マクロの機能を理解しているかどうかってのは別の話。
言語機能自体を理解していたとしても、わかりにくいプログラムはわかりにくい。
>>572にlambdaを挙げなかったのは、lambdaはそういう意味での分かりにくさは比較的少ないから。

576 :
>>574が一体C++で何を作ってきたのかが疑問だな
お前C++の良さを語れるような立場じゃねえよな

577 :
無理に使わなくてもいいというのは同意だけど
例えばメンバとして持つものにstd::tupleなど、ムーブをサポートしているクラスを想定して
ムーブコンストラクタ、ムーブ代入演算子など定義するけど
「それ以外ほぼ何もしない」クラス作ってドヤってる人(サンプルコードの話ではない)は最近よく見かけるんだよなぁ・・・w

セオリーや流行ばかり追いかけて実用性皆無なコードしか書けない趣味グラマ?ばかりが
最近C++界隈で目立っている気はする。

ある程度なんでも出来るようになれば言語のことはどうでもいいから、
結果そういうのばかりが目立ってるのかもしれんけど

578 :
>>575
具体的に言うと、どの言語がわかりやすいの?
煽ってる訳ではなく、純粋に意見が聞きたいだけよん。

579 :
絶対的な順位というのは決められないだろうけど、少なくともCはC++より分かりやすいよな。

a = b + c;

こんなコード片があるとき、Cならここで数値かポインタの加算が行われると推測できるし、あとは
オーバーフローの可能性を気にする程度でいいけど(マクロが使われていた場合は別として)、
C++だと選択肢が多すぎて判断が難しい。下手したらコード全体を隅から隅まで調べないと実際の
動作を把握できないかもしれない。

580 :
書きやすいと読みやすいは別物で
C++はC以上に書きやすさを求めた結果
読み手に優しくないコードが書けるようになったのは事実だよね

精通すればスラスラ読めるようになるってんならまだしも
単なる独りよがりなコードも書けるから手に負えない

581 :
>>579
ああそういう事ね。
確かにわかる。

まあ、その点だけで言うと、その operator を提供しているクラスを信じられるかどうかって点に行き着く気がするけどね。
プラスの意味論 (セマンティクス) に逆らう機能を実装するような、質の悪い設計なのかって言う点から、実際ちゃんと動くのかって点ね。

セマンティクスに逆らわない機能で、単体テストされていれば、基本的に疑いの眼差しを向ける必要はないはず。(カプセル化)

582 :
>>580
ああー、同意。
うまく使えば読みやすいのに、慣れない人が使うと酷いことに。

なるほどー、わかってきた気がする。
あまりにも簡単に無意味に複雑なコードが書けてしまうことが問題なのか。

583 :
仕事ならバカに合わせて書くしかない

584 :
違う。書いた本人以外に合わせるんだよ。
あんたのコードを周りの人が理解できないのはあんた以外全員バカだからというわけじゃない。

585 :
ポリモーフィズムを使うとき、デストラクタにvirtual付け忘れると
場合によってはメモリリークして大変な事になる
サブクラスをdeleteした時に
スーパークラスのデストラクタしか呼ばれない

この罠に引っかかった奴は多いに違いない

586 :
>>585
とにかくデストラクタにはvirtual付けるようにしてる。

587 :
今ほど継承の問題点が言われていなかった過去の常識という印象。

588 :
virtualなデストラクタが必要なのは、上に言われてる通りポリモーフィズム使う時だけなんやで
基底クラスのポインタに派生クラスをまとめて管理する(基底のポインタからdeleteする)んでなければ
virtualにする必要は無いんやで
でないと、vtblを持たない、メンバ変数の通りの内容(パディングが無ければ、サイズもメンバの合計に等しい)
しか持たないクラス/構造体とか作れないしな。

継承の問題点って具体的にどの辺?自分にはちょっと想像つかんかった

589 :
継承(is-a)は、構造が硬直化する。柔軟ではない

一方、包含(has-a)は柔軟で、処理の委譲(丸投げ)にも使われる。
依存性の注入(DI)も、最近の流行

590 :
なんか中途半端に本を読んでコピペした感じがうざい

591 :
世間でそう言われているという話ならコピペでも不思議はなかろう。

592 :
>>589
has-aの関係だと言えるものならそうすべきだけど、is-aの関係を包含でやると
そのうち必ず破綻するよ?

593 :
まぁ多態しないならデストラクタを仮想関数にする必要ないってのはその通りで
shared_ptrなんかはダウンキャストしても正しいデストラクタが呼び出せるように
ポインタ自体がデストラクタを持ちまわってるし、知らなきゃ驚くようなことをしている



そんなことより、C++が雑多だっていうなら
筆頭は多重継承、ダイヤモンド継承だろ
だーれも使ってない機能、goto以上に誰も使わない、盲腸のような機能
ここから読み取れるのは、つまりは要らない機能は使わなければよい
ってのがC++の流儀であり習わし
今に始まったことではない、昔からそう

594 :
多重継承のダイヤモンド継承がどれぐらい使われないかというと
明らかに問題があってめちゃ複雑なのに
ここで例に上がらないぐらい誰も使ってないし
すっかり忘れて頭から抜け落ちるぐらい使われてない
使ったこともないから困ったこともない、そんぐらい使われてない
こんな使ってはならないような機能を持っている言語なんだから
使う側で工夫するしかないのだわな

595 :
ちなみに仮想継承なんか、実用的なプログラムで使ったことあるやつ居るのかね
コンパイラ開発者がかわいそうだよ
実装が面倒くさそうなのに誰も使わないんだから

596 :
NVIインターフェースを複数継承するみたいなクラスはよく書くから多重継承がないと困る
そして、スマポが持ってるのはデストラクタではなくてカスタムデリータでしょ?
RAIIのためのデリータを指定するのと、ポリモーフィックなクラスのデストラクタを仮想にすることは独立だと思うけど

597 :
インターフェースの多重継承は別に否定してないよ

598 :
ん?
オブジェクト志向バリバリだと、普通に多重継承起こるでしょ?
「インターフェースクラスの」ではあるけど。

599 :
>>597
インターフェースかどうかはどうやってジャッジするの?

600 :
子供の発表会みてるような微笑ましさがあるな
ID:MWDK7HMBのことな

601 :
インターフェースの多重継承は否定してないって言ってるのになぁ
インターフェースの多重継承は他言語でも見かけるけど
C++の場合は実装の多重継承も出来て、これはJavaやC#では禁止されているわけだけど
CにOOを追加したのがC++の売りであるから、継承は筆頭株主というか鳴り物入りというか
当時としてはCに対するアドバンテージで、売りであったはず
そこでマズったのはハッキリ言ってかっこ悪いが
いらない機能は使わなきゃ済む話、それがC++
仮想継承とか誰が使うの?ってね
gotoより使わないし、gotoより害悪

602 :
この子の発表はまだまだ続くの?

603 :
ageてみる

604 :
gotoは案外よく使うけどな。

605 :
江添亮とかいうやつやたら偉そうだけど
C++界になんか貢献したの?

606 :
Linux プログラミング・インタフェース、Michael Kerrisk, 千住 治郎、2012

C++11/14 コア言語、江添 亮、2015

組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006

神の啓示を受けし者たちが記した、神の書。
この3冊が出版されているのは、日本だけ

皆、これらの本を持って、山ごもりするw

607 :
>>605
俺は江添氏のブログで助かってるけどなぁ
新しい仕様を実践的に教えてくれるのでわかりやすい
対してメタプログラミングやらコンパイル時のポリモーフィズムやらを
「今どきのC++の使い方」とばかりに押し付けてくる風潮がうざい(ああいうのはアマチュアの意見だと断言できる)

アマチュアが言ってるのはわかるけどC++系のライターにまでそういうバカが居るから困る
誰とは言わんけど

608 :
>>606
1番目のはLinuxシステムプログラミングと内容が似てるみたいだけどそっちのが良いの?

609 :
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903

ttps://goodpatch.com/blog/sketch-plugins/

610 :
>>593
標準ライブラリをはじめ多重継承は至るところで使われてるし、禿4にも、真のC++使いは恐れなく多重継承を使うと書かれている。
個人的には多重継承を避けてきたのだが、そろそろ使ってみようかと思う。
昔のgoto危険みたいな話なのかも。
使った方が良い場合は確かにあるので。

611 :
禿4によると過度の総称型も良くないらしい。
よくありがちなObject型ってやつ。

612 :
>>610
多重継承が一番いいと思ったらためらいなく使うわ
gotoも同様にね、まあ、これはgotoの出番かーと思っても
やっぱり必要なかったなとなるんでgoto使う機会は今のところないな

613 :
>>608
「Linux プログラミング・インタフェース」の著者、
Michael Kerrisk は、Linux man ページを、10年書いてきた人。
世界中の開発者から、神と崇められている!

開発者は、この本を枕にして寝ろ、と言われている

この本に似ている本は、
詳解 UNIX プログラミング 第3版、2014

614 :
C++テンプレートテクニック 第2版、
επιστημη(えぴすてーめー)・高橋 晶、2014

επιστημη も、C++標準化委員会の会員

江添も、テンプレート・メタプログラミングの需要があれば、
本を書きたいって言ってたけど、既にこの本が出ている

615 :
江添はそいつらよりちょっと頭が悪いからまともに見えることもあるってだけだな。
本質は変わらん。

616 :
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

LNCSZ

617 :
LNCSZ

618 :
UP4

619 :
UP4

620 :
屋上屋を架す形での仕様の肥大化が続いてもう巨大迷宮みたいな言語
理解してるって自信があるのはコンパイラ開発者や規格策定者だけじゃないかってレベル
いやそれさえも怪しいけど
そんな言語を一介のユーザーが進んで使いたいなんて思うわけがないよね

621 :
K&Rを再読したんだけどさ…
スタックVMの作り方だろこれ。
「足りない分は自分でつくってね」という。
それで出来たのがjava,ruby,python。

禿に騙されて寄り道するなよ。

622 :
知れば知る程嫌いになる言語C++
パフォーマンスを維持したまま互換性を維持したまま言語仕様を肥大化して
コード以前に言語が汚くなっているC++
COBOLと同じ負の遺産C++

623 :
知れば知るほど嫌いになるってわかるわw

624 :
C++はモエタンじゃないのか。

625 :
C#は追加する機能を厳選してて頭良かったな

626 :
constだらけ

627 :
constで修飾できない言語って気味が悪い。

628 :
javaとか気持ち悪いよね
オブジェクトの中身弄くるのか分からなさすぎて

629 :
C++って無料?

630 :
無料の処理系があるかってことなら「ある」。
例えば Linux 上で gcc 使えば無料だよな。
流石にコンピュータ本体までタダで入手できるとは言わんけど。

C++ のコンパイラを作って売る商売をする場合でも、
どこかとライセンス契約するような形でお金を取られることはないみたい。
『C++の設計と進化』にそんな感じのことが書いてあった。

正式な規格の本はスゲー高いらしいが、よく知らん。

631 :
スレが立ってから10年経過してるけど、まだやってるんだ。
最初の方を読むと、これじゃC++なんて無くなる勢いで貶されてるけどまだあるね。

632 :
javaのfinalもそうだけど
finalやconstだらけで眩暈がするというか
凄くゴチャゴチャした感じがして嫌

633 :
Yomiuri Giantsサーブ?

634 :
いまどきのES7/TypeScriptだと、ほとんどの行にconstかawaitかあるいはその両方が書かれる。

635 :2019/04/26
もう少し
abc(const: int i,int j)
みたいな事くらいいえねぇのかよ
やたら省略が好きなくせに

メガデモを語る fr-08
プログラム板へのID導入の投票実施中 月曜0:00まで
D言語は多分コケると思っている人の数→
0から始める2chブラウザfor超漢字 "2ch de BTRON"
Java低速GUI Swing 10
1行ずつC++を書いてプログラムを作成するスレ
Go language part 3
COM
今までみた絶望的なソースコード
家計簿ソフトを作る
--------------------
【SKE48】神門沙樹ちゃん 3公演目【チームKU】味噌オタクは最低
†愛ハムスターのお墓†弐基目
◆日本によるアジア侵略を許さないスレ◆ part2
埼玉のキノコ
【De→巨】平良拳太郎 中井大介応援スレ
薄切り豚バラ肉で作る簡単な料理を教えてくれ
【仏教】悟りを開いた人のスレ403【天空寺】
2019年10月期ドラマ予想スレ
赤髪・シジミ芋と不愉快な仲間達 part93?
【キャッシュレス決済】QRコード統一、現金使わず決済・・・3メガ銀本腰
【ジャンプSQ】憂国のモリアーティ【竹内良輔/三好 輝】
【SANKYO】CRフィーバー機動戦士Zガンダム 第23話【シロッコの眼】
1980年代ボクシング2
【勇気があれば】あさひ美容バス【道は開ける】
昔はオフィスでタバコ吸ってたし
【テレ朝土曜23時】おっさんずラブ part196【田中圭・吉田鋼太郎・林遣都】
ジャニーズWEST★15
五七五、最後は全部、鬱だ氏のう。 煮染め
【Cosmic Girls】宇宙少女☆15【WJSN】
日立電子サービス 16
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼