- 1 名前:デフォルトの名無しさん [04/09/14 07:16:41]
- ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。
- 313 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 00:48:30 ]
- そもそも306や309が何を言いたいのかが良く分からない
- 314 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 02:11:58 ]
- >>311
長ったらしいことに意味があるわけで。
- 315 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 13:38:50 ]
- >>313
>>306 はshared_ptrの便利さを伝えたかったんだろう。 他は何をしたいのかよくわからん。
- 316 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 16:20:54 ]
- >309はマヌケー
- 317 名前:デフォルトの名無しさん [2005/08/10(水) 04:48:35 ]
- いいね。C++式のキャストを使える処理系の人は。
うちじゃ、キャストどころか、namespaceも使えねぇ。 templateはネストできねぇ。 例外なんて概念ない。 C++標準ライブラリもついてこねぇ。 STLなんかありえねぇ。 すごいよ組み込み系マイナープロセッサ用クロスコンパイラは。
- 318 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 04:54:54 ]
- >>317 ノレネサス(目立)?
- 319 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 08:18:47 ]
- >>317
つテンプレートライブラリ自作
- 320 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 14:40:25 ]
- >>317
単にEC++なだけでは?
- 321 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 19:44:05 ]
- ボクってかわいそう、という気持ちでいっぱいの人は、
一言で済ませられる物も得てして冗長に膨大に書き連ねるものですよ。
- 322 名前:デフォルトの名無しさん [2005/08/14(日) 14:50:03 ]
- class A
{ int a=1 ; } ; のように出来ない仕様になっている理由を教えてください。
- 323 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 16:38:44 ]
- >>322
初期化のタイミングが曖昧にならないように。 コンストラクタでできることを宣言でやる必要はなかろう。 定数ならstatic const intでいいだろうし。
- 324 名前:デフォルトの名無しさん [2005/08/14(日) 22:23:02 ]
- >>322
構造体の延長だからさ。
- 325 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:23:42 ]
- じゃあ、クラスも構造体みたいにメンバ変数とかのアライメントを
合わせるのがいいの?もしそうなら、publicとかprivateとか グループ化してから合わせるのがいいの? メンバ関数とかはどう扱うの?
- 326 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:45:36 ]
- >>325
そんなことは構造体でやっとくれ。 クラスは、上級者しか使いこなせないよ。
- 327 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 02:19:22 ]
- >>325
とりあえず適当にクラス作って メンバ変数とかメンバ関数のアドレスでも見てみれば? >publicとかprivateとか >グループ化してから合わせるのがいいの? 実行速度を気にしてるならpublic/privateは関係ないでしょ。 これはコンパイル時における各メンバへのアクセス可否の指定であって 実行時にこの情報を参照することは何も関係ないんだから。
- 328 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 07:16:19 ]
- >>325
Cの構造体と違って、C++のクラスには暗黙のメンバが挿入されるから 短絡的な考えは休むに似たり。
- 329 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 01:05:58 ]
- アラインメントを要するメンバは構造体で外部定義してクラスには参照を定義するとか
- 330 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:30:20 ]
- おまえら「クラス」と「構造体」の俺様定義を説明してからしゃべれよ。
- 331 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:31:48 ]
- 俺的には同じ。
- 332 名前:デフォルトの名無しさん [2005/08/16(火) 10:17:49 ]
- クラス = 構造体++
- 333 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:21:00 ]
- >>332
つまり クラス < 構造体 ということかっ!!
- 334 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:32:35 ]
- >>333
馬鹿?
- 335 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 11:11:20 ]
- デフォルトがpublicかprivateかの差だけだよ
- 336 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:42:45 ]
- プププ。
結局誰も答えられないでやんの。 自称上級者なんてこんなレベルだな。w
- 337 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:46:55 ]
- 昔の実装では struct と class には明確な違いがあったらしいけど
最近では標準のアクセスが public / private 以外には全く同じ実装になっている。
- 338 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:55:53 ]
- >>337
はつみみです 詳しく
- 339 名前:337 mailto:sage [2005/08/16(火) 14:22:07 ]
- >>338
参考。 ttp://www.borland.co.jp/qanda/lang/l0001945.html struct にもメンバ関数がつけれますし、 コンストラクタ、デストラクタも機能します。 struct からの派生もできますし、仮想関数等も機能します。 逆アセンブルしてみると必要に応じて vtbl も付加される模様。 両者の違いは、 class CHoge { int a; // これは private }; struct SHoge { int b; // これは public };
- 340 名前:338 mailto:sage [2005/08/16(火) 14:58:41 ]
- >>339
それはC++では、少なくともこのスレでは常識。悪いが聞き飽きている。 はつみみで、詳しく聞きたいのは >337 の前半。
- 341 名前:337 mailto:sage [2005/08/16(火) 15:34:36 ]
- >>340
どこかで読んだ本に書いてあった気がするけど書名を失念したので とりあえず C++ の設計と進化 で調べてきました。 どうやら当初から同じものだった模様… 勘違い失礼。
- 342 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 18:43:37 ]
- そもそも構造体とクラスがゴチャゴチャになっちまうような
言語仕様のC++が、美しくない言語ってことだ。
- 343 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:19:57 ]
- べつにゴチャゴチャにはならんだろ。
むしろゴチャゴチャになる要素が無さ過ぎるのが C++における構造体とクラスの関係の特徴だ。
- 344 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:20:50 ]
- っていうかごちゃごちゃも何も、原則同じ物だからさ。
- 345 名前:デフォルトの名無しさん [2005/08/16(火) 21:23:32 ]
- 言語仕様などJAVAやC#も極めた俺は関係ない。ちなみにアセンブラも神域。
C++はいい言語だ。
- 346 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:57:00 ]
- C−ガール」 (浅香 唯)
- 347 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 02:51:46 ]
- C (ミポリン)
- 348 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 08:10:39 ]
- 上級者が集まるスレであって
年寄りが集まるスレではないんだがな
- 349 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 00:29:29 ]
- 上級者でつか?どこが?プ
- 350 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 10:52:57 ]
- ここが、に決まってるじゃん。
こんな簡単な文章の流れも読めない奴って・・・。
- 351 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 11:14:09 ]
- >>349
まあ、お前より>346や>347の方が上級者であることは確かだな。
- 352 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 12:13:34 ]
- そろそろ目ぇ真っ赤にしながらの釣り宣言が来ます
- 353 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 16:02:06 ]
- ぬるぽ!
- 354 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 00:21:13 ]
- 上級者でつか?なにが?プ プ
- 355 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:01:30 ]
- >>351
そ…そうかなあ??
- 356 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:21:17 ]
- じゃあ上級者にふさわしい話題提供してよ
- 357 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 22:14:16 ]
- >>356
そろそろインポリタンスを治す薬について議論しましょうか
- 358 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:12:26 ]
- 参照とポインタの使い分けについて述べてみよ。
- 359 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:27:44 ]
- ポインタでなければならない積極的な理由がない限り、参照。
- 360 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:35:01 ]
- 逆だろ!
参照でなければならない積極的な理由がない限り、ポインタ。
- 361 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:36:40 ]
- >>360
ヌルチェック、もしくはヌルチェックが必要かどうかのチェックがウザイ。
- 362 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:39:36 ]
- ナルこそC++の極みなり。
- 363 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:44:20 ]
- こんなおとぼけさん。居るよね?
if (obj != NULL) delete obj;
- 364 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:52:34 ]
- 俺は参照でできる箇所はすべて参照。
俺のソースにポインタが出てきたら、それは「そうしなければいけない理由がある」という 明確な意思のこもった記述だな。 あと、NULLなんてC++のソースコードに一度も書いたことがないや。
- 365 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:59:33 ]
- ポインタにしなければいけないのはどんな場合?
- 366 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:13:40 ]
- NULLチェックが必要なとき。
- 367 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:43:40 ]
- new 演算子を使うとき。
- 368 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:38:25 ]
- CのAPIを使う
変更可能な外部コレクション …
- 369 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:55:54 ]
- >>366
boost::optional<T&>
- 370 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:28:10 ]
- 引数が変更されるときはポインタを使いたい
istream の get(char&) みたいのはあんま好きじゃない…
- 371 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:15:22 ]
- なんか引数を書き換えるときにはポインタ派って多いよな。
- 372 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:27:46 ]
- 私はグローバル変数派です
最強です
- 373 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:28:02 ]
- 書き換えるといこそ参照だと思うがなぁ。
へんなアドレスに書き込んでデータ壊す確率が下がる。
- 374 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:36:51 ]
- やっぱりグローバル変数+goto文が最強だよね。
- 375 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:38:28 ]
- そもそもクラスなんていらないよね。
- 376 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:44:52 ]
- >>374
最強 != 最良
- 377 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:56:04 ]
- Cタスタスは最良?
- 378 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 14:56:03 ]
- ( ´艸`) Cクスクス
- 379 名前:デフォルトの名無しさん [2005/08/20(土) 15:37:55 ]
- >360
ポインタで作ったつもりでも、いつのまにか=使った時点で参照 やらかしてるだろw
- 380 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:18:46 ]
- なんで、int &a = b; って書くと参照なんだ?
aのアドレスを取るとそれがint型?・・・ワケわからん
- 381 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:32:57 ]
- >>380
こちらへどうぞ pc8.2ch.net/test/read.cgi/tech/1124256027/l50
- 382 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 17:20:58 ]
- >>379
Cタヌタヌ。うんにゃ。んなことない。
- 383 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 23:13:40 ]
- ∩___∩
| ノ ヽ / ● ● | | ( _●_) ミ Cクマクマー 彡、 |∪| 、`\ / __ ヽノ /´> ) (___) / (_/ | / | /\ \ | / ) ) ∪ ( \ \_)
- 384 名前:>>383 mailto:sage [2005/08/21(日) 21:00:27 ]
- 不覚にもこんなつまらないネタでワロタ
- 385 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 15:38:44 ]
- >>371
そうでないと関数呼び出してる箇所みても引数が変更されるってのが読み取りにくい
- 386 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 18:59:17 ]
- 俺ルールでも基本的に非constな参照の引数は禁止。
- 387 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 19:21:33 ]
- 例外はiostreamくらいか
- 388 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 21:31:34 ]
- >>385
そのルールは、もう過去のもの。
- 389 名前:デフォルトの名無しさん [2005/08/27(土) 22:40:30 ]
- ルールの話じゃねーよ馬鹿
- 390 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 23:05:38 ]
- 「So, you want to prefer pointers to references?」
www.allankelly.net/Software/codefragments/ptrorref.html
- 391 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 17:41:05 ]
- >>389
ルールだよ。ププ
- 392 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:06:40 ]
- 言い返せないから嘲笑でごまかしてみました。
- 393 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:44:08 ]
- やはりここにも C++ の上級者は居ないようだな。
- 394 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 22:12:38 ]
- >>393
上級者同士が会話するスレだからね。 お前が何を書いても、レスしてくれるのはお前と同レベルの俺みたいな奴だけだよw
- 395 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:21:53 ]
- C++上級者って何が出来るの?
- 396 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:24:17 ]
- まずboost::lambdaをバンバン使っているに違いない。
- 397 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:31:28 ]
- C++上級者はアセンブラも出来ますか?
- 398 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:33:14 ]
- >>397
出来るとは限らないのではないか?
- 399 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:42:27 ]
- アセンブラも出来ないし、他人の作ったライブラリを使えるだけ。
それがC++上級者なのですか?
- 400 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:43:50 ]
- もしかしてコンパイラも作れない?
- 401 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:45:25 ]
- 教えればすぐ使えるだろうけど。
- 402 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:56:12 ]
- >>399
「他人の作ったライブラリを使える」ってのは重要だよ。
- 403 名前:デフォルトの名無しさん [2005/08/31(水) 01:04:28 ]
- >>397>>399>>400ってすごい馬鹿そう
- 404 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 01:15:38 ]
- C++上級者にふさわしい高級な煽りを希望する
- 405 名前:デフォルトの名無しさん [2005/08/31(水) 01:28:00 ]
- >>404
例えてあげる、私が NULL なら あなたは std::numeric_limits<long long>::min() ってところね。
- 406 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 07:32:34 ]
- C++でNULLは如何なものかと。
- 407 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 08:55:36 ]
- nullキーワードはどうなりましたかの? > JTC1/SC22/WG21
- 408 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 09:03:41 ]
- それは知らんが、C++/CLIのnullptrキーワードはヌルポインタにも使えるようだ。
- 409 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 12:40:18 ]
- >>405
お前がNULLなら、俺はガッだ。 というのは勘違い
- 410 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 13:04:56 ]
- >>407-408
open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1601.pdf
- 411 名前:デフォルトの名無しさん [2005/08/31(水) 13:10:36 ]
- >>407
NULLの代わりとかあるの? それはVisualC++7.1で使える?
- 412 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 21:17:05 ]
- >>411
0をポインタにstatic_castしたら、NULLポインタになる。 もちろんそのポインタを整数型にreinterpret_castしても0になるとは限らない。
- 413 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 22:21:26 ]
- >>411
0
|

|