1 名前:デフォルトの名無しさん [2015/08/31(月) 18:19:04.13 ID:NE3NvROE.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part118 peace.2ch.net/test/read.cgi/tech/1435970316/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.97【環境依存OK】 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1439849418/ 次期規格C++1zはこちら C++14/C++1z 20 peace.2ch.net/test/read.cgi/tech/1410382924/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/
534 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 15:50:09.12 ID:snRIqmgr.net] そんな変な書き方は今すぐ止めればいいと思います >A a(); >ってやればいいんだけど >A *a = new A(); >ってやったときとシンタックスの一貫性がなくて微妙。 やってること、やりたいこと、が別なのに 一貫性を求める必要は無いと思います タイプ量が増えるだけでしょう
535 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 15:53:15.68 ID:snRIqmgr.net] >>525 mapを使うか もしくは設定項目文字列とenumのテーブルを用意して配列に突っ込む
536 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 16:49:06.14 ID:mVMjJSEh.net] >>520 >・単にaが構築される >・右辺が構築されてから左辺のコピー(ムーブ)コンストラクタが呼ばれる のいずれか。規格ではどちらも許される ただし仮に後者を採用したとしてコンパイルエラーになるコードは 許されていない(コピーコンストラクターがprivateなど) 呼ばないことによる副作用の有無は関係無い
537 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 18:22:01.93 ID:9hL7F3GQ.net] C++でコード書くの嫌い 最適化云々で、クラスを.hで書いてメンバ関数は.cppに 書くべきだから、正直メンドクセ。 でもテンプレートはヘッダー内に全部書くべきだし…… 全部volatileつければ、問題無いのか? でも、それもメンドクセ。 最近はAndoroidアプリ作ってるから、クラス内に全部書けるけど javaだから、unsignedがなんてcharだけなのか そんで、オペレーター無いし あと、いくらGCでも、「ちゃんとこっちで始末しますから」 って思ったりもする。 それと、C++みたいにprivateのラベルの様に 「こっからここまでprivate」みたいに……… 愚痴は、いくらでも出るのに、ロクなコード書けない俺が 一番やっかい。
538 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 19:00:14.27 ID:1RpaQohZ.net] >>525 使えるのならリフレクション。 キーワードが共通の時にテーブルを書く手間をケチれる。 一応C++でもモドキがあるようだからいけるはず。 taichino.com/programming/1945
539 名前:デフォルトの名無しさん [2015/09/26(土) 23:32:48.30 ID:5mMoR0BV.net] >>525 自分の上司に訊きなさい。
540 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 23:47:31.13 ID:G4HmjC7J.net] 上司にきくことじゃないな >>531 みたいなバカは脳がスカスカなので 次にタイプする文字も上司に訊いてるんだろう
541 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 00:28:15.57 ID:Aie1F5/k.net] >>525 辞書(HashMap)、関数ポインタなどで、 vTableのように、文字列と処理を結びつける
542 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 00:57:34.05 ID:IK6WV2UC.net] 関数内で関数の宣言したらコンパイル通って驚いた void Func() {
543 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 00:58:05.23 ID:IK6WV2UC.net] void A(); } みたいな感じでね
544 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 01:06:55.56 ID:YOaTuDE7.net] >>520 A && a = A{}; これでOK
545 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 01:21:55.60 ID:7JlNsb+t.net] Cから受け継いだクソ仕様だな
546 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 11:47:05.82 ID:+LbsO3cu.net] >>537 どれがどういう理由で糞なの?
547 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 12:26:51.51 ID:Wa6E2D6E.net] >>489 やり方教えて
548 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 13:53:17.26 ID:0R68gjtE.net] >>534-536 こんなやり方あったんだ。便利そうだな
549 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 14:37:12.97 ID:hEAZFQJb.net] A && a = A{}; これマジで安全なの? オブジェクトの寿命はどうなるの?
550 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 15:00:57.98 ID:zsE9aaJl.net] >>541 なにも問題ない 参照のスコープまで生き延びる 確か規格の8.5.3か12.2あたり
551 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 15:13:07.68 ID:zsE9aaJl.net] 12.2一時オブジェクトの段落5か The temporary to which the reference is bound or the temporary that is the complete object of a subobject to which the reference is bound persists for the lifetime of the reference except: 去年Visual C++は Sub && s = Full{}.sub; の寿命が延びないバグがあったのでバグ報告しといたけど、直ったようだ
552 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 15:14:15.81 ID:hEAZFQJb.net] aが右辺値参照なのはどうして? 右辺値参照と何の関連性が?
553 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 15:15:29.74 ID:zsE9aaJl.net] >>544 右辺値を受け取ってるんだから右辺値参照なのは当たり前だろう
554 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 17:14:48.82 ID:x2H664Vf.net] >>539 やり方? 何を指摘されてるかすらわかってないだろ w
555 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 17:37:38.84 ID:1KsOvSTX.net] >>546 自分は全くの通りすがりですよ。 わからないので聞いてるだけ。
556 名前:デフォルトの名無しさん [2015/09/27(日) 17:42:40.55 ID:IjMgIUn3.net] >>544 const左辺値参照でもよいはず
557 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 17:44:07.83 ID:hEAZFQJb.net] ユーザーモードとカーネルモードがあるのに そういうことに言及せずにざっくり4GB制限とか言ってるから バカにされてるだけじゃね
558 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 17:51:25.33 ID:hvy9lckk.net] そういう話とはちょっと違うと思ったけど、どうなの?
559 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 17:55:09.33 ID:Tcvq0fDO.net] ID:hEAZFQJb が馬鹿な事は分かった。 ユーザーモードとカーネルモードで空間分離していれば3GBの制限も無いはずなんだが。
560 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:05:02.17 ID:hEAZFQJb.net] 誰も別空間とは言っていないのだが むしろ同じ空間を目分量で分離しているからこそ問題であり メモリの上限の話をする上で 言及しないのはおかしいのではと言う話なのだが
561 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:12:42.15 ID:Tcvq0fDO.net] >>552 お前が賢いつもりなら、さっさと>>539 に対して明確に回答すればいいだけ。 それも出来ないのに喚いているだけだから、お前は馬鹿なままなんだよ。
562 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:13:02.34 ID:Pogh5WEF.net] 32bit環境でもポインタのサイズを64bitにしてハードウェアを活かさない実装にしてもC及びC++の規格上問題ない
563 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:15:56.97 ID:hEAZFQJb.net] いや別にそういう立場ではないんで
564 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:20:03.99 ID:Tcvq0fDO.net] ID:hEAZFQJb : カーネルモード知っている俺カッケー ID:Pogh5WEF : 屁理屈言える俺カッケー だからお前らは馬鹿なままなんだよ。
565 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 18:22:11.81 ID:Pogh5WEF.net] >>556 屁理屈もなにも一番元の話がそれなんだけど
566 名前:デフォルトの名無しさん [2015/09/27(日) 18:26:28.84 ID:IjMgIUn3.net] sizeof(void *)の話とカーネルモードは本質的に無関係 無理やりこじつける実装も存在するというだけ そもそも命令デコーダとアドレスデコーダは別物
567 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 19:00:43.12 ID:nW+23lOG.net] C++インタプリタがあるんだから 何Gあろうが関係なくね
568 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 19:51:34.01 ID:YOaTuDE7.net] もはや何を言い争っているのかわからん
569 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 19:53:58.16 ID:1KsOvSTX.net] 全然教えてくれないんじゃん
570 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 20:28:04.86 ID:Af4kFVrx.net] 元はJava,C#空想実装と現実のC,C++実装を比較するのはおかしいという話 空想実装でよければC,C++だってそんな制限はないと言ってるだけ 文脈嫁
571 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 21:41:42.41 ID:VW7AXb3O.net] だけ
572 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 21:49:51.60 ID:KfU5Es7n.net] 空想実装と現実の実装の違いについては JavaとCで違いがあるのか? どちらも現実はビット数の制限受けてるだろ
573 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 22:48:35.59 ID:Tcvq0fDO.net] >>561 そりゃまともな奴なら出来ないって言うからね。回答しようがない。 ここで引っかかっている馬鹿はその程度でしかない。 こいつらはCスゲーしか認めないようだが、そういう問題ではないんだがな。
574 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 01:23:45.19 ID:8FV3B/V7.net] いいんだよ 各自好きな事言っとけ ここは落書き
575 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 06:44:48.23 ID:Rj5Nu0nM.net] >>565 >>546 バカがアホに諭すとか滑稽すぎ w
576 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 07:05:49.65 ID:oN5IJNc7.net] もはやなんのスレか分からない
577 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 11:08:56.51 ID:BV7UhKgt.net] C++のコードで参照渡しをやたらと多用する人がいますが、意図がよくわかりません。 ポインタの代替として使われているのでしょうか? int hoge(Foo &foo); 再代入を行わない場合、普通にポインタ渡しでも意味は変わらない気がするのですが。 開発上の利便性を考えてのことなのでしょうか。 個人的な考察として、以下の可能性を想定しています。 1. "->"による値参照が嫌で、"."を用いたい。そのために参照渡しを多用している 2. オブジェクトの状態変化の可能性を示唆させるために参照渡しとポインタ渡しを使い分けている
578 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 11:21:34.67 ID:VY24hflb.net] A a; hoge(&a); が面倒ってだけ てか、C++ならスマートポインタ使え
579 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 11:21:55.29 ID:3TMmR4lP.net] >>569 2の意味がわからんけど場合によってポインタで渡すより幾つか利点ある null参照を渡せない 参照先を関数内で変更出来ない(ポインタでもconst付けりゃ出来なくする事出来るけど) あと普通にポインタ渡しとか参照渡しを多用とか言ってるけど参照渡しは普通だから むしろnullpointer渡すことが出来る時か文字列リテラル渡すときぐらいしかポインタ渡しは使わない
580 名前:デフォルトの名無しさん [2015/09/28(月) 11:26:57.20 ID:DQYQoyfG.net] ポインター版の関数とポインターじゃない版の同じ関数を2回書かなくていいという意味もある
581 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 12:49:29.07 ID:4w+sdak1.net] 特別必要がない限りポインタ渡しなんてヤメレ
582 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 13:35:58.94 ID:BV7UhKgt.net] レスありがとうございます。 C++の世界では参照渡しがデフォと考えた方が良さそうですね。 C++は他人のコードを眺める程度なのですが、 同じような用途なのに人によって参照渡しで統一している人やポインタ渡しで統一している人がいて不思議に思っていました。
583 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 13:47:22.82 ID:iX8okw0+.net] メンバ変数を引数として渡す関数の場合、参照は使いにくい
584 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 14:26:10.97 ID:wVFkh7Dk.net] >>574 はい、その通りです。 C++はポインタとプリプロセッサマクロの撲滅を目標の一つとして開発されています。 そのためC++ではポインタよりも参照が推奨されています。 C++であってもポインタを多用する人はいますが、 その人の勉強不足でCのポインタを引きずっているとも言えますし C++の参照がポインタからの全面移行を促すだけの魅力が無いとも言えます C形式のポインタを捨ててもらえるよう、C++は永遠に進化中です。
585 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 17:34:31.23 ID:rUo6g3/R.net] 例えば関数の引数なんかでオプション的な引数がある場合 (その引数があってもなくても関数が動作するような場合 例えばログ出力先の指定など) ポインタだと楽なんだけどね void runSomething(const std::string* log) { // log = 0なら何も出力しない } これってなんか横着せずに参照でやるべきなんだろうか
586 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 17:35:18.80 ID:rUo6g3/R.net] 上記constはおかしいな
587 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 18:47:53.83 ID:wVFkh7Dk.net] >>577 俺ならデフォルト引数か関数オーバーライド使うかな? 参照はデフォルト引数出来たっけ? ダメなら関数オーバーライドで。 String位ならデフォルト付き値渡し引数にconst付けてコンパイラさんお願いっ!てしちゃうかも
588 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 18:53:56.76 ID:VY24hflb.net] オーバーライドじゃなくてオーバーロードやろ?
589 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 18:58:09.96 ID:XXoDc2O6.net] >>577 ところでこの例の場合引数が省略された時に0が渡されるのは保証されてたっけ?
590 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 19:05:58.93 ID:4w+sdak1.net] 577の引数が省略されたらコンパイルエラーになることが保証されてるよw NULLを渡されたら特別な処理をしたいならポインタ使ってもいいんじゃないか 俺ならそういう設計は可能な限り避けるけどな
591 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 19:07:49.95 ID:P8/hbuJG.net] >>581 この例のままだと引数の省略は出来ない void a(const std::string *s = 0); とするか、意味は少し変わるが void a(const std::string& s=std::string()); としてempty()の場合無しとして扱うか 俺は後者をよく使う
592 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 20:02:10.71 ID:91/ACm3S.net] >>575 ん? なんか面倒なことあったっけ?
593 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 20:07:14.94 ID:91/ACm3S.net] >>582 > 577の引数が省略されたらコンパイルエラーになることが保証されてる そんな保証あったっけ?
594 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 20:34:23.74 ID:tAj/1R7q.net] もちろんです
595 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:21:10.12 ID:qXJ0fmsD.net] >>570 何でもかんでもスマポにすればいいと言うわけではない スコットメイヤー先生の糞本でも読んで出直せ
596 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:23:31.06 ID:1BrOiTcA.net] うっせーハゲ
597 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:30:32.73 ID:AY6OxaHG.net] >>583 >void a(const std::string& s=std::string()); void a(const srd::string& s = "")); でええやろ
598 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:33:11.06 ID:mUEYl4pK.net] スマートポインタってオーバーヘッドでかいでしょ 一度に大量の解放が起こると性能ガタ落ちだし 速度を追求するためにC++使ってるのに、本末転倒
599 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:35:19.98 ID:1BrOiTcA.net] unique_ptrならいいだろ
600 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:38:52.17 ID:tAj/1R7q.net] >>589 お前はいいかも知れないが 許容出来ない人も居るだろう >>590 スマポのオーバーヘッドはアセンブリレベルで マナポと完全に同一にまで改善されたというのが ハーブサッターとスコットメイヤー教祖の教えなのだが ただしunique_ptr<T>に限る
601 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:39:23.89 ID:ynPwQZO2.net] つか、uniqlo_ptrしか使わんな
602 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:40:52.11 ID:ynPwQZO2.net] /// unique_ptrだ 予測変換入ってもた
603 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:54:34.42 ID:FIIzSoGf.net] つかstd::unique_ptrの構文が参照ではなくてポインタのそれである件について: やっぱC++においては参照の方がおまけ概念 const T&以外の参照渡しは禁止
604 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:55:27.14 ID:0rYiKgaG.net] >>583 >void a(const std::string& s=std::string()); >としてempty()の場合無しとして扱うか おお、これでちゃんと動いた! 大抵はこれでどうにかできそう 良いこと聞いた 空文字列と文字列が無いことを区別して取り扱いたい時が稀に良くあるが 仕様変更できる場合が大半だな 文字列以外ではあまりないし
605 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:57:51.67 ID:mUEYl4pK.net] >>592 いやでも、shared_ptrは遅いんでしょ? unique_ptrが使える場面なんて限られてるし、片手落ちかと だいたい、新技術を導入するか否かの決定権を持っている上の人たちは 長年生ポインタのやり方で染み付いている訳で、 便利だから乗り換えましょう、とはそうそういかないかと
606 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 22:57:53.72 ID:0rYiKgaG.net] >>595 生ぽさえ撲滅出来ればそれでいいんじゃよ
607 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:01:49.61 ID:1BrOiTcA.net] むしろshared_ptrのほうが使える場面が限られてる 遅いといってもshared_ptrのコストが問題になる場面なんてめったにないだろう
608 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:04:24.66 ID:tAj/1R7q.net] ナマポをスマポに
609 名前:書き換えるときに unique_ptrじゃなくてshared_ptrしかダメ というのは作りが相当おかしい [] [ここ壊れてます]
610 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:20:39.17 ID:XXoDc2O6.net] >>597 うちはナマポ使ってると、レビュー時にその必要性について議論させてるぞ Cできちんとポインタを使いこなしていた人ほど すぐにC++ではナマポ不使用派に転向しちゃう 基本、実績のある古いコードをそのまま持ってきた場合とシステムコールとかのC形式ライブラリ呼ぶところ位しかナマポは残らないな shared _ptrが遅いというのは、ナマポで安全対策を入れていない場合と比べてだ ナマポに安全対策を入れたら大抵はshared_ptrより遅くなるぞ ナマポの方が速いと主張する人たちは レビューとプロファイラーの前で生き残れなかった ま、うちだけかもしれんが
611 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:24:13.61 ID:XXoDc2O6.net] でもC++のスマポは記述が冗長なのが好きになれない ナマポはレビュー時に見落とすくらいシンプルなのにね
612 名前:デフォルトの名無しさん [2015/09/28(月) 23:36:28.90 ID:FF3rjUqv.net] 動的記憶が前提だからね あくまで用途はその範疇で
613 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:38:37.64 ID:FIIzSoGf.net] いくらスマポが良いといっても やめて!メモリの動的確保する気でしょう? エロ同人みたいに
614 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:45:35.35 ID:0rYiKgaG.net] う、、、ネタがわからん
615 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 23:55:41.35 ID:0rYiKgaG.net] 実際、スマポも生ぽもほとんど使わないな メモリ操作はSTLのコンテナとイテレータにお願いしちゃうし ポインタ渡しは参照使うし 型変換とかも名前付きキャストとunionでどうにかなるし
616 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 00:42:40.24 ID:0lZfHTgJ.net] まあポインタでも参照でも好きなもんを使えばいいよ。プログラムなんて動けばいいのさ。
617 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 01:17:31.36 ID:HqSuUkpS.net] こまけぇこたぁ いいんだよ!! /) // /) `/// __ |イ二つ/⌒⌒\ | 二⊃ (●) (●) \ / ノ/⌒(_人_)⌒ \ \_/| |┬| | / \ `ー′ /
618 名前:デフォルトの名無しさん [2015/09/29(火) 02:44:20.18 ID:NXR0Nytt.net] よくねえよヴォケ
619 名前:デフォルトの名無しさん [2015/09/29(火) 07:18:55.18 ID:UCFlulCD.net] ナマポの利点ってなんなの
620 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 08:27:03.26 ID:4NffsMzC.net] 働かなくても生活出来ること
621 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 08:30:36.21 ID:Y2fWXifr.net] >>571 >参照先を関数内で変更出来ない 意味がわからない codepad.org/mXQd0mNP 参照であっても参照先を関数内で変更できるようだが
622 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 08:42:57.14 ID:Y2fWXifr.net] >>576 STLのイテレータをみていると、これはポインタと同じ使い方 本当にポインタを撲滅する気があるようにはみえない codepad.org/gQY11puS
623 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 08:46:58.42 ID:GdgkSls5.net] >>612 参照が示す場所と言えば良かったかな? 参照先の値を変更出来るのは当たり前だからわざわざコード書かなくてもいいよ
624 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:18:41.17 ID:kfE15Zdi.net] C++になっても生ポインタを結局ばりばりに 使うのだよな・・・みんな。
625 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:38:09.16 ID:bCmPOTpj.net] >>613 それはナマポ派のひとを取り込むためにわざと記法を似せてるんじゃないかな?
626 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:42:32.67 ID:2BMWd/g5.net] どうしてもイヤならC++なんか手を引くべき
627 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:43:37.29 ID:bCmPOTpj.net] >>614 よく分からんがポインタのアドレス値そのものを書き換えるってこと?? もらったポインタをfor文の中でインクリメントしてデータアクセスする以外の用途が思いつかないな 上記の用法ならイテレータの参照を渡すかのが普通だからわざわざポインタ使うほどのものでもないし
628 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:46:03.17 ID:bCmPOTpj.net] >>615 それがC++の良いところでもあり悪いところでもある 清濁併せて飲み込んじゃう混沌さがC++らしさ
629 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:51:42.83 ID:GdgkSls5.net] >>618 > よく分からんがポインタのアドレス値そのものを書き換えるってこと?? そう 変更出来ない事を(細かい事だが)メリットとして挙げてる ポインタもconst付ければ変更出来ないけど面倒くさいからな
630 名前:デフォルトの名無しさん [2015/09/29(火) 11:25:09.86 ID:NXR0Nytt.net] 標準アルゴリズムはナマポ前提でそ ナマポとイテレータを透過的に置き換えられるってだけで ナマポ撲滅を主張するような作りにはなってない
631 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 11:39:27.99 ID:9FBYnxt5.net] ポインタを使うて事にそんなにアレルギーがある人がいるんだ… コードを全部配列で書いてもアレルギーでるの?
632 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 11:49:34.30 ID:Fziu4eIr.net] >>622 Cかよと面倒臭い気持ちにはなる んで、しぶしぶtraitsを書こうと思って、c++ array specializeでググる
633 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 12:13:37.73 ID:XovM8eOK.net] 生ポがわいてんのか
634 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 12:35:12.59 ID:Y2fWXifr.net] >>614 ますます意味がわからない >>571 >参照先を関数内で変更出来ない できちゃってるよ‥ codepad.org/6rGzlzmc 参照を使っても呼び出し元に影響を与えないわけではないのだが、どういうメリットを強調したかったの?