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


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

C++相談室 part147



1 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 17:56:53.03 ID:uFDqtnkl.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part146
https://mevius.5ch.net/test/read.cgi/tech/1573094136/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

↑え?だってお前、普通ダイナミックリンクするだろ?
"ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**

992 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 08:42:38.23 ID:v4E0eL1J.net]
緩い意味でのどこかを指し示す意味でのアドレスと言っているなら
スマポもアドレスになるから、to_addressの意味がさらにもう何が何だか

993 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 08:50:06 ID:1ZJZZZs9.net]
ポインタというよりvoid*だね
void以外のポインタは実体の型により訳が変わる点が
単なるアドレスと違うところで

994 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 10:02:33 ID:v4E0eL1J.net]
いやでも、to_address() の戻り値の型は
void* ではなくて、ちゃんとした型情報を持った普通のポインタ型だよ
void* にはならないよ

995 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 10:06:23 ID:yrj+fbAX.net]
またつまんない話で盛り上がってんのな

996 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 10:42:46 ID:70BTs5bI.net]
>>966
返されるのはあくまでアドレス(番地)の値だろう。型情報としてT*型を持つが、それはC/C++ではすべての式や値が型を持つから当たり前の話であって、型を持つからアドレスとは呼ばないというのはおかしな話だと思う。

997 名前:デフォルトの名無しさん [2020/01/31(金) 11:36:09.10 ID:v4E0eL1J.net]
>型を持つからアドレスとは呼ばないというのはおかしな話だと思う。

つまりは ポインタ=アドレス って事ね

998 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 11:45:36 ID:GGrzMUVS.net]
ポインタってのは変数のことでその中身はアドレスって第3版の時点ではっきり書かれてるぞ
型を持ってるのもあくまで変数の方だ

999 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 12:34:07 ID:AatGgooz.net]
ヌルポ

1000 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 12:35:25 ID:v4E0eL1J.net]
それは当たり前
そういう話ではなく
う〜ん、どういえばいいか
例えば、年齢を得る関数 int get_age() ってのがあったとして
俺は別にこれに疑問を持たんし、何とも思わない
to_address
それは int に対して age の方が高度で抽象的な概念になってるから
ところが pointer to_address() の場合はこれが逆になってて
pointer の方が address より高度で抽象的な概念になってる
だからこう、本質的に気持ち悪いというか
先の例で言えば
まぁ適切な例かは分からないが
age_t get_int()
ってなってたらキモイだろう



1001 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 12:37:15 ID:v4E0eL1J.net]
なんか途中で送信してしまった

それは当たり前
そういう話ではなく
う〜ん、どういえばいいか
例えば、年齢を得る関数 int get_age() ってのがあったとして
俺は別にこれに疑問を持たんし、何とも思わない
to_address() と何が違うか

それは int に対して age の方が高度で抽象的な概念になってるから
ところが pointer to_address() の場合はこれが逆になってて
pointer の方が address より高度で抽象的な概念になってる
だからこう、本質的に気持ち悪いというか
先の例で言えば、まぁ適切な例かは分からないが
age_t get_int()
ってなってたらキモイだろう

1002 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 12:45:36 ID:GGrzMUVS.net]
なんか勝手に幻想抱いてるけどポインタに入れるものは常にアドレスだから
何もおかしくない

1003 名前:デフォルトの名無しさん [2020/01/31(金) 12:46:08 ID:YmbKsQW3.net]
VLTのto_addressは欲しい

1004 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 12:46:37 ID:v4E0eL1J.net]
でさ、
age_t get_int() ってのを見たとき
「age_t の中身は int だし
 int を get してそれが age_t に入っているのだから
 解釈としては問題ない」
って感じのことを言ってるレスが結構あったけど
俺はなんか違うような気がするって言ってるわけ

1005 名前:tォルトの名無しさん mailto:sage [2020/01/31(金) 12:48:59 ID:v4E0eL1J.net]
具体的には >>977 とかね
age_t の中身は常に int だから〜的な
だとしても age_t get_int() とは書かんだろう、というのが俺の主張だから

1006 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 13:07:50 ID:AatGgooz.net]
アドレスとポインタってのは
ageとage_tの関係

1007 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 13:13:53 ID:GGrzMUVS.net]
じゃあint *p = &a;の&もアドレスを取る演算子じゃなくて
ポインタを取る演算子に名前変えてもらうようにお願いしたら?

1008 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 17:37:24 ID:aVH6lH01.net]
アドレスはデコーダに入力するビット列 (ハードウエアの概念)
ポインタはアドレスを扱うことを目的とするデータ型 (プログラム言語の概念)

IEEE754とdoubleのような関係だ

1009 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 17:44:13 ID:MQmpFGUT.net]
通常はポインタが数値であることなんてのは意識せんわな。
リングバッファなんかを取り扱うなら嫌でも意識することになるが。

1010 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 18:16:27.29 ID:HzrC4w9c.net]
ポインタが数値がどうか意識しないと
リングバッファも作れないようなのが
C++を使うのか



1011 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 18:34:36 ID:Dscz4LHl.net]
分岐無くす高速化でもしているんじゃね

1012 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 18:37:20 ID:CZDp2h8t.net]
>>976
その例は逆
アドレスとポインタは本質(イデア)とその表現の関係にある
(イデア <-> 表現)
年齢 <-> 整数
色 <-> RGB値
アドレス <-> ポインタ

この関係に照らせば、年齢を取得する場合は
int get_age();
だし、色を取得する場合は
RGB get_color();
だし、アドレスを取得する場合は
T* get_address();
になる

1013 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 18:53:37 ID:Nt0XFA2s.net]
その哲学続けるの

1014 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:10:20 ID:xOuBGXY8.net]
>>986
分岐?
それも普通は不要

アドレスを意識するのはDMAなど
ハードウェアでリングバッファを使う時くらい

1015 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:13:50 ID:MjAWY572.net]
ハードウェアとのDMAならポインタにいれるアドレス自体は気にしないだろ
特定の物理メモリを適当な仮想アドレスにマップして使うのだし

1016 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:35:40 ID:xOuBGXY8.net]
DMAが扱うのは物理アドレス

1017 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:42:13 ID:xOuBGXY8.net]
じゃないのもあったりするのか?
チープなマイコンのDMAしか直接扱ったことがなくて

1018 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:51:22 ID:aVH6lH01.net]
仮想アドレスってことはページフォールトがあるってことだろ
OSによってページインされるまで待つことになるが
そこまでペリフェラルで面倒見る必要あるか考えてみそ

1019 名前:◆QZaw55cn4c mailto:sage [2020/01/31(金) 19:51:32 ID:tTpxWp9S.net]
>>933
どれくらいブラックでしょうか?
https://mevius.5ch.net/test/read.cgi/tech/1434079972/21
https://ideone.com/9KIuSD

1020 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:53:30.58 ID:aVH6lH01.net]
未練



1021 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:54:58.34 ID:xOuBGXY8.net]
>>993
フォルトならエラーで止めときゃいいんでない?
そこまでハードで面倒見る必要は無い

1022 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 19:55:32.42 ID:yrj+fbAX.net]
最近はIOMMUが一般的

1023 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 20:02:09.40 ID:yrj+fbAX.net]
>>993
おいおいそんなわけないだろ
デバイスがさわるメモリはページアウトしない
でも物理アドレスを使わない理由は何でしょう?
あスレ違いだな

1024 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 20:34:35 ID:aVH6lH01.net]
>>996
ペリフェラルって何だと思う?

>>998
循環論法だな

1025 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 20:54:47.19 ID:Nt0XFA2s.net]
C++相談室 part148
https://mevius.5ch.net/test/read.cgi/tech/1580471646/

1026 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 44日 2時間 57分 54秒

1027 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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