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


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

C++相談室 part119



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/

481 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:23:53.95 ID:v0Nc4YZQ.net]
>>472
うん、もういいよ
お前の代わりは居ないけど要らないから

482 名前:デフォルトの名無しさん [2015/09/23(水) 01:28:45.41 ID:AnQ6XBDy.net]
今はどの環境でもリークをチェックできるし困ることは何もないけどなあ。
後始末の必要なリソースはメモリーに限らないので、メモリー管理によって鍛えられた
C++戦士は凄腕プログラマへの近道。

483 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:31:43.38 ID:nPFFi/Oi.net]
>メモリー管理によって鍛えられた
>C++戦士は凄腕プログラマへの近道

もうC++を使わないで下さいね他人がきっと迷惑してます

484 名前:デフォルトの名無しさん [2015/09/23(水) 01:32:57.44 ID:AnQ6XBDy.net]
>>476
なるほど、キミはバトルプログラマーを知らないんだね?

485 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:38:23.42 ID:M/UFFhhb.net]
最近はスキルが有効かどうかが環境より言語に左右されるような気がする。

486 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:45:30.10 ID:iC4K+Xaq.net]
>>472
>結果、Java作者はない方がいいと思ったから廃止したし、
Java8で復活した部分がある,C++ では ->*, ::* で扱うポインタ
Java での呼び名:メソッド参照

peace.2ch.net/test/read.cgi/tech/1434079972/12

487 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:49:55.57 ID:nPFFi/Oi.net]
危険を伴う有用な機能を具備することのリスクが
説明を受けても理解できない低能はどうしようもないな
だから>>479みたいなとんちんかんなレスをするんだろう

488 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 01:55:54.98 ID:IndlIx5T.net]
散々論破されてるのに悪いと思わない時点でただのキチガイだろ

489 名前:デフォルトの名無しさん [2015/09/23(水) 01:58:32.17 ID:AnQ6XBDy.net]
はあ、また論破してしまった。
やはりC++は最強だな。



490 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 02:02:23.55 ID:IndlIx5T.net]
>>464
>そもそも他言語ではアドレス自体を取れないことが多い。
>次に、取れたとしてもキャストできなかったりする。
>だから、どうやっても sizeof(void*) 依存のコードを記述できない言語の方が多い。
君の大好きなC#はポインタもsizeofも取れるよ
君は他言語を触る前にC#について勉強しなさい

491 名前:デフォルトの名無しさん [2015/09/23(水) 02:04:33.69 ID:AnQ6XBDy.net]
しかし今日の敵は弱かったな。
今までで最弱じゃないか?

492 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 02:12:08.91 ID:MwhyHk4V.net]
>>479
これか?
qiita.com/pepepe/items/3d810e1bbed25768caa0
これは危険なタイプの生ポインタではないんだ。だから問題ない。

493 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 02:12:34.07 ID:qfkgp73Y.net]
最初は32bit環境で4GB越えのバイナリを実行できる
CやC++は出来ない

だったはずなのに、指摘されても誤りを認めず最後の方には

参照が32bitであることを関知する必要がない

に変わってた。

494 名前:デフォルトの名無しさん [2015/09/23(水) 02:18:39.97 ID:AnQ6XBDy.net]
C/C++で出来ないことはレジスタをいじること。
他は何でもできるから。

わかったらもうケンカ売ってくるなよw

495 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 02:51:39.64 ID:iC4K+Xaq.net]
キャリーフラグは触れてほしかったね‥
キャリーの読み込み,書き出しをしたいんだ
インラインだと後で最適化という介入があって心配だ

496 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 05:09:46.93 ID:DOrhv1Zg.net]
>>448
> void*が32bit環境では4GBまでしか表せない。

この時点でなにもわかってないことがバレバレじゃん w

497 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 05:12:56.52 ID:sl1FEDPC.net]
>>487
インラインアセンブラはダメか

498 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 06:12:19.83 ID:kDaXs3BE.net]
メモリマップドレジスタみたいに環境によっては弄れるよね

499 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 11:53:18.53 ID:dAcDykGY.net]
>>490
ありゃ規格の範囲外だからな。
gcc に慣れすぎて、他の使うとつらい。

>>491
I/Oレジスタじゃなくて、CPU のレジスタの話じゃないかな?



500 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 13:59:22.37 ID:DOrhv1Zg.net]
>>491
レジスタは読むだけでフラグリセットしたり複数回読むと違う値になったりする奴があるから高級言語で読み書きするのはちょっと怖い

>>492
どこまでを CPU レジスタって言うかによる

501 名前:デフォルトの名無しさん [2015/09/23(水) 20:23:32.33 ID:VRhTdQAB.net]
メモリマップドI/Oではなく、
メモリマップドレジスタね
制御記憶が主記憶空間にマッピングされているという

502 名前:デフォルトの名無しさん mailto:sagete [2015/09/23(水) 20:32:04.80 ID:1jqGrEyR.net]
2Dゲーム当たり判定総合 [転載禁止]c2ch.net
peace.2ch.net/test/read.cgi/tech/1442990347/

503 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 20:43:11.41 ID:3ci5dXPK.net]
0ページレジスタもね

504 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/23(水) 20:54:04.93 ID:KfupEJ55.net]
△ マップド
D マップト

505 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 21:07:34.84 ID:D/ibv0yF.net]
クソコテは日本語もマトモに書けないのか

506 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/23(水) 21:15:35.76 ID:KfupEJ55.net]
>>498
添削の時間は限られている。まる、ばつ、さんかくだけで採点できる。

507 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 22:20:05.97 ID:lyPqrQHB.net]
>>499
添削?採点?
突然何を言い出すのですか。頭は大丈夫ですか。
それにまるばつさんかく以外の記号が書かれているようです。

508 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 01:42:54.1 ]
[ここ壊れてます]

509 名前:3 ID:/TjFSMYs.net mailto: 基地外が新たな基地外を呼び寄せるカオスなスレ []
[ここ壊れてます]



510 名前:デフォルトの名無しさん [2015/09/24(木) 22:11:32.00 ID:O8aOI61G.net]
初期化子でthisを渡すと警告が出ていたと思うんだけど、いつの日からか出なくなった。
どこかの時点で規格が変わったの?

511 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 23:09:55.66 ID:y5NlXAUf.net]
>>502
普通のコンパイラーでは
警告と規格は関係ありません

512 名前:デフォルトの名無しさん [2015/09/25(金) 00:05:04.36 ID:WA9ffgJV.net]
もしかしてthisへの代入があった
ごく初期のC++のことか?

513 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 01:39:59.76 ID:hOC+hAXG.net]
>>502
これ?
https://msdn.microsoft.com/en-us/library/3c594ae3.aspx
> 'this' : used in base member initializer list
...
> This warning is off by default. ...

514 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 23:34:43.11 ID:IdnO5CBH.net]
STLのコンテナcで*(c.begin())とやるのとc.front()とやるのは何か違うの?
同じだとしたらどっちがどっちの糖衣構文?

515 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 23:55:05.37 ID:Ku6iuwWR.net]
>>506
糖衣構文では無いよ。
先頭要素にアクセスすると言う目的に対して、同じ結果が得られる別の手段があったというだけの事。
より目的に合っているのは後者だと思うけど。

516 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 00:00:24.18 ID:9hL7F3GQ.net]
かなり長いことC++触って無いけど
もうboostは、標準仕様になってるんですか?
まぁ、コンパイラによるから、何とも言えないかも
しれないけどさ

517 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 00:06:37.49 ID:cPpGYmLk.net]
>>508
boostのどのライブラリ?
全てなら永遠にその時は来ないよ

518 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 08:10:46.09 ID:OajUOnCA.net]
boostの社内における認識が、「誰が作ったか分からないハイリスクなライブラリ」から
「実績があり安心して使える準標準ライブラリ」になるのはいつですかね…

519 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 08:23:46.53 ID:ySVgmYih.net]
boostに重大なバグがあって会社に損害を与えたとき誰も責任を取れないでしょ?
永遠にその時は来ないよ。



520 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 09:17:56.96 ID:teqXcjFQ.net]
boostは、その全てが必ず標準化されるわけでは無いよ。

521 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 09:21:36.35 ID:T1LoOiMi.net]
↑ごらんください! これがアスペです!!

522 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 09:37:29.93 ID:cPpGYmLk.net]
>>511
OSS全く使えない会社か
勤めたくないね

523 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 11:02:45.10 ID:xWCYZ6+4.net]
そういう会社はboostよりも先に自分が作り込んだ重大バグで潰れるから心配ない

524 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 11:30:42.93 ID:FH4mU5/4.net]
そう言えば、バグがあった時直せないからって理由で、C++開発なのにC++標準ライブラリ禁止って職場があったわ

525 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 12:50:25.19 ID:9hL7F3GQ.net]
>>516
スゴイ会社だな
会社で使ってるコンパイラが信用出来ないのか……
もしかしてVectorとかのSTLが禁止?
まぁ、VC++6.0ではVectorで醜いバグあったらしいが

って事は、コンパイラ作ってる様なもんだな
(コンパイラは言い過ぎかも知んないけど)

526 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:00:09.30 ID:FH4mU5/4.net]
>>517
コンテナはOKだった
と、言ってもstring、vector、mapくらいしか使ってなかった気がする
algorithmは全面禁止だった
なので、ループ文とそのコピペの嵐で読むのも辛かったしバグも多かった記憶

527 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:05:49.06 ID:FH4mU5/4.net]
書いてて思い出し笑いしちゃったよ
「バクがあった時直せない」って理由で標準ライブラリ使わずに、自作コードでバクだらけとか、草生えまくりだなwww

528 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:19:28.92 ID:uKQbY5Ux.net]
A a = A();
ってやったとき
・単にaが構築される
・右辺が構築されてから左辺のコピー(ムーブ)コンストラクタが呼ばれる
・左辺と右辺がそれぞれ構築されてから左辺のコピー(ムーブ)代入演算子が呼ばれる
どれ?
デバッガで追ってみるとコピー(ムーブ)コンストラクタ/代入演算子は呼ばれてないから
・単にaが構築される
のはずなんだけど
コピー(ムーブ)コンストラクタ/代入演算子がないクラスでこれやると
なぜかエラーが出るんだよね
A &a = A();
ってやるとコンパイル通るけどMSVCの独自拡張みたい?
素直に
A a();
ってやればいいんだけど
A *a = new A();
ってやったときとシンタックスの一貫性がなくて微妙。
(常に 変数 = コンストラクタ の形にしたい)
あと関数宣言として解釈されることがあってイライラ。
標準規格とかでどう定義されているのかとか、説明できる方がいたら教えて下さい。

529 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:34:13.70 ID:GN/a0FjA.net]
>コピー(ムーブ)コンストラクタ/代入演算子がないクラスでこれやると
>なぜかエラーが出るんだよね
マジ?
ここがおかしいような気がする



530 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:34:31.65 ID:8isGWqIv.net]
普通にコピコンだろう

531 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:37:52.70 ID:xWCYZ6+4.net]
コピペをしない自作なら、自分で理解できるだろう、直せるだろう。
なのかな?
そういえば、GCC使って開発してたとき、GPSに触れないよう
使うライブラリを全部自社開発したことはあったな

532 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 14:33:54.80 ID:NFyEOKoE.net]
規格上はコピーコンストラクタが走るけど、
コピコンに副作用が無さそうと判断されたら、
最適化の際にただのコンストラクタによる構築に勝手に変更されている
と我が脳内コンパイラは申しております

実際のところどうなんだろう

533 名前:デフォルトの名無しさん [2015/09/26(土) 15:45:53.15 ID:b1WQaLX+.net]
設定ファイル(1行には設定項目名と値が1つずつ書いてある)を読み込んで、
設定項目ごとに対応する変数に値を格納する関数があります。
設定項目は200個くらいあって、それに応じてif文が200個くらいあります。
静的検査で、「循環的複雑度」とかいう指標が200とかになって、
これをもっと小さくしなければならないことになりました。(40以下くらい)
どういう風に作るのがスマートだと思いますか?

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]
特別必要がない限りポインタ渡しなんてヤメレ






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

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

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