20/01/31 13:13:53 GGrzMUVS.net
じゃあint *p = &a;の&もアドレスを取る演算子じゃなくて
ポインタを取る演算子に名前変えてもらうようにお願いしたら?
1008:デフォルトの名無しさん
20/01/31 17:37:24 aVH6lH01.net
アドレスはデコーダに入力するビット列 (ハードウエアの概念)
ポインタはアドレスを扱うことを目的とするデータ型 (プログラム言語の概念)
IEEE754とdoubleのような関係だ
1009:デフォルトの名無しさん
20/01/31 17:44:13 MQmpFGUT.net
通常はポインタが数値であることなんてのは意識せんわな。
リングバッファなんかを取り扱うなら嫌でも意識することになるが。
1010:デフォルトの名無しさん
20/01/31 18:16:27.29 HzrC4w9c.net
ポインタが数値がどうか意識しないと
リングバッファも作れないようなのが
C++を使うのか
1011:デフォルトの名無しさん
20/01/31 18:34:36 Dscz4LHl.net
分岐無くす高速化でもしているんじゃね
1012:デフォルトの名無しさん
20/01/31 18:37:20 CZDp2h8t.net
>>976
その例は逆
アドレスとポインタは本質(イデア)とその表現の関係にある
(イデア <-> 表現)
年齢 <-> 整数
色 <-> RGB値
アドレス <-> ポインタ
この関係に照らせば、年齢を取得する場合は
int get_age();
だし、色を取得する場合は
RGB get_color();
だし、アドレスを取得する場合は
T* get_address();
になる
1013:デフォルトの名無しさん
20/01/31 18:53:37 Nt0XFA2s.net
その哲学続けるの
1014:デフォルトの名無しさん
20/01/31 19:10:20 xOuBGXY8.net
>>986
分岐?
それも普通は不要
アドレスを意識するのはDMAなど
ハードウェアでリングバッファを使う時くらい
1015:デフォルトの名無しさん
20/01/31 19:13:50 MjAWY572.net
ハードウェアとのDMAならポインタにいれるアドレス自体は気にしないだろ
特定の物理メモリを適当な仮想アドレスにマップして使うのだし
1016:デフォルトの名無しさん
20/01/31 19:35:40 xOuBGXY8.net
DMAが扱うのは物理アドレス
1017:デフォルトの名無しさん
20/01/31 19:42:13 xOuBGXY8.net
じゃないのもあったりするのか?
チープなマイコンのDMAしか直接扱ったことがなくて
1018:デフォルトの名無しさん
20/01/31 19:51:22 aVH6lH01.net
仮想アドレスってことはページフォールトがあるってことだろ
OSによってページインされるまで待つことになるが
そこまでペリフェラルで面倒見る必要あるか考えてみそ
1019:◆QZaw55cn4c
20/01/31 19:51:32 tTpxWp9S.net
>>933
どれくらいブラックでしょうか?
スレリンク(tech板:21番)
URLリンク(ideone.com)
1020:デフォルトの名無しさん
20/01/31 19:53:30.58 aVH6lH01.net
未練
1021:デフォルトの名無しさん
20/01/31 19:54:58.34 xOuBGXY8.net
>>993
フォルトならエラーで止めときゃいいんでない?
そこまでハードで面倒見る必要は無い
1022:デフォルトの名無しさん
20/01/31 19:55:32.42 yrj+fbAX.net
最近はIOMMUが一般的
1023:デフォルトの名無しさん
20/01/31 20:02:09.40 yrj+fbAX.net
>>993
おいおいそんなわけないだろ
デバイスがさわるメモリはページアウトしない
でも物理アドレスを使わない理由は何でしょう?
あスレ違いだな
1024:デフォルトの名無しさん
20/01/31 20:34:35 aVH6lH01.net
>>996
ペリフェラルって何だと思う?
>>998
循環論法だな
1025:デフォルトの名無しさん
20/01/31 20:54:47.19 Nt0XFA2s.net
C++相談室 part148
スレリンク(tech板)
1026:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 44日 2時間 57分 54秒
1027:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています