[過去ログ] C言語なら俺に聞け 151 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
858: (アウアウエー Sa52-H7EU) 2019/06/13(木)21:10 ID:HQZYLHkVa(2/2)調 AAS
何かの容量と言ったときの「何か」がメモリです。
利点は基本的にないです。
859: (ワッチョイ 1aad-LWjD) 2019/06/13(木)21:22 ID:0e3y3dPM0(1)調 AAS
データが存在する場所
860: (ブーイモ MM7f-4ioR) 2019/06/13(木)21:44 ID:VQ1VjdQ1M(1)調 AAS
みんな思い思いのモデルで遊んでるから、パパは箱モデル出しちゃうぞ
861: (ワッチョイ 3352-9ye8) 2019/06/13(木)21:45 ID:vVgcrwZV0(1)調 AAS
うさみみハリケーンでメモリ覗いてチートしよう!
862: (ワッチョイ 4e63-9ye8) 2019/06/13(木)21:52 ID:o6WQvi940(1/2)調 AAS
天使のような微笑みに
時は立ち止まる
863: (ワッチョイ 03dc-9ye8) 2019/06/13(木)22:05 ID:mXxRrk+K0(2/2)調 AAS
なんか分からない部分のコード示してもらわないと
ここの有能な人たちもどう説明したらいいか分かんないから雑談始まったがw
864: 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 8b01-1i7F) 2019/06/13(木)22:14 ID:wtG0GGqp0(1/2)調 AAS
1ビットが0か1かの二通りを表せる情報量。
1バイトは0〜255までの256通り(2の8乗)を表せる情報量で8ビットに等しい。
1バイトを複数並べたのがメモリーで、各バイトの位置がアドレス。
865: (ワッチョイ 9a79-YCmz) 2019/06/13(木)22:16 ID:dMX2AWSU0(1)調 AAS
このスレにエスパーいるの?
866: 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 8b01-1i7F) 2019/06/13(木)22:22 ID:wtG0GGqp0(2/2)調 AAS
アドレスに型情報を加えて、先頭アドレスを起点として配列のようにアクセス可能にしたものがポインタ。
しかし、配列は実体を要求するが、ポインタは実体を要求しない。ヌルポインタは、何も指し示さないポインタ。
867: (ワッチョイ 4e63-9ye8) 2019/06/13(木)22:29 ID:o6WQvi940(2/2)調 AAS
ポインタ配列ってやると実体のない配列になるのかなw
868: (ワッチョイ 5bda-Fbrg) 2019/06/14(金)00:57 ID:v+vUDnm40(1)調 AAS
ポインタ配列?

ポインタの配列 *array[]
配列のポインタ (*array)[]
869: (ワッチョイ a37b-RuXw) 2019/06/14(金)06:12 ID:hJXFGwRg0(1)調 AAS
“メモリ”って言葉がフラッシュメモリのような、
ストレージデバイスのイメージになってるのも
説明を難しくしてる要因かもしれないね。

メモリは記憶単位ごとに数字で番地が振られていて…と言っても、
「メモリってディレクトリ構造中のファイルとして記憶するんじゃないの?」
みたいな感じに、互いの言葉の意味がチグハグで。
870: (ワッチョイ 3352-9ye8) 2019/06/14(金)06:41 ID:f7k/n5Cq0(1/2)調 AAS
RAMとROMの違いなんて今の時代説明しても分かる人の方が少ない気がする
871: (ラクペッ MM73-WxcC) 2019/06/14(金)07:27 ID:Q6PAXFreM(1)調 AAS
>メモリは記憶単位ごとに数字で番地が振られていて

キャッシュメモリ「せやろか?」
872
(1): (ワッチョイ 1aa5-Rc2r) 2019/06/14(金)07:30 ID:0tg6L2nj0(1)調 AAS
https://i.ytimg.com/vi/paQ3zIsz1-8/maxresdefault.jpg

https://upload.wikimedia.org/wikipedia/commons/d/d2/Pamiec_bebnowa_1.jpg

やっぱりコレを見せれば理解しやすいんでね?
873: (アークセー Sxbb-6CEg) 2019/06/14(金)08:11 ID:9CL7rguOx(1/2)調 AAS
>>872
磁気コアメモリと、右側はRAMACか?
874: (ブーイモ MM7f-4ioR) 2019/06/14(金)08:31 ID:0nKPup2VM(1)調 AAS
磁気ドラムだよ
ランダムアクセスでさえないのにメインメモリにしたとかいう
875
(2): (ワッチョイ 9712-LWbF) 2019/06/14(金)09:02 ID:vN7LRDhO0(1)調 AAS
>>856
ポインタ=君と感覚を共有してる全く同性能の影分身だ。
君の価値が100万なら、影分身は1円で作れる。

ポインタのメリットは会社が君を働かせたい時、君を直接雇うと100万円かかるが、影分身を雇うと1円で済むわけだ。
影分身が働いてる間、君は家でエロゲでもしてればいい。

気をつけないといけないのは、仕事中、影分身の腕が切断されたら、エロゲやってる君の腕も切断されるし
影分身が死んだら君も死ぬ。

これ以上わかりやすい説明はないと思うが、どうよ?w
876: (ワッチョイ 4e69-oJPG) 2019/06/14(金)09:44 ID:y8r4DOsw0(1)調 AAS
例えられても伝わらないとさらに混乱させるのが、ポインタと配列周辺の話
877: (アウアウウー Sac7-7DQ/) 2019/06/14(金)10:03 ID:+nXqXsIga(1)調 AAS
>>875
分身と言ってしまうとそっくりな実体がもう一つあるかのように思ってしまうのではないか?
やはり実体を指し示すものを連想させる何かにした方が良いのではないか?道標とか。
878: (ワッチョイ 03dc-9ye8) 2019/06/14(金)10:26 ID:6se/aPBa0(1/2)調 AAS
このように、どうわかりやすく書こうとしてもどっかに不都合が生じるのがポインタの説明
素直にコンピュータの仕組みを勉強するしかないんや・・・
879: (アークセー Sxbb-6CEg) 2019/06/14(金)10:36 ID:9CL7rguOx(2/2)調 AAS
ポインタはWindowsのショートカットみたいなもの。
これでもまだ誤解されそうね。
880: (ワッチョイ 4e63-9ye8) 2019/06/14(金)11:45 ID:suWeiIcg0(1)調 AAS
インデックスレジスタを拡張したもの
881
(1): (スプッッ Sd5a-PP33) 2019/06/14(金)12:26 ID:2kFHhEHgd(1)調 AAS
キャッシュとバッファの違いを教えてください
882: 蟻人間◆T6xkBnTXz7B0 (スフッ Sdba-1i7F) 2019/06/14(金)12:32 ID:lQGpZUNAd(1)調 AAS
キャッシュは次回のアクセスを高速化するためにデータを一時的に保存しておくこと。
バッファはデータを受け止めるために、保存場所を確保するためのメモリー領域。
883: (ワッチョイ dfd2-vI2o) 2019/06/14(金)14:56 ID:6Rxhp4270(1)調 AAS
アセンブラやらせてみる。
884: (ワッチョイ 9a01-zlGV) 2019/06/14(金)15:05 ID:AQvHkPsD0(1/2)調 AAS
>>881
文脈による
汎用機だと二次キャッシュをバッファストレージなんて言ったりすることもあるし
885: (バッミングク MM8a-U99L) 2019/06/14(金)17:36 ID:TPMloxQtM(1)調 AAS
>>875
本体がパンツ下ろしたら影分身も職場でパンツ下ろすんですね分かります
886
(1): (ワッチョイ 8b01-2qry) 2019/06/14(金)17:45 ID:zWOLB0k60(1/2)調 AAS
ポインタがよくわからないんだけど、普通にメモリアドレス==ポインタって認識なの?

int i;
int *p=&i;
の時に変数iのポインタであるpっていういい方は正しいですか
887
(1): (ワッチョイ 3352-9ye8) 2019/06/14(金)17:52 ID:f7k/n5Cq0(2/2)調 AAS
メモリアドレスは格納されるけど
メモリアドレス==ポインタっていうのは違う気がする
nullだのvoidだのもあるし
888: (アウアウカー Sac3-H7EU) 2019/06/14(金)17:58 ID:Soq0+PVxa(1)調 AAS
iのポインタを格納してるポインタ変数p

値自体を問題にするときはアドレスだが、プログラム中で操作の対象となってる場合はポインタって感じだな。
889: (ワッチョイ 4e7b-r4R3) 2019/06/14(金)18:21 ID:Js4PARtC0(1/4)調 AAS
>>886
ポインタはメモリアドレスと型もってて
メモリアドレスからのデータをその型として解釈する
890: (ワッチョイ 8b01-2qry) 2019/06/14(金)18:23 ID:zWOLB0k60(2/2)調 AAS
なるほど、なんとなくわかったありがとう。混乱の原因はポインタっていう言葉がいろんな使われ方してるからだった。
891
(2): (アウアウウー Sac7-6CEg) 2019/06/14(金)18:25 ID:Kaq8zorwa(1)調 AAS
こう書くとまた荒れそうだが、ポインターとはアドレスが入った変数である、というのは正しい。
NULLは0番地を特別扱いしてるだけだし、void *もあくまでアドレスだ。
892: (ドコグロ MM92-zlGV) 2019/06/14(金)18:32 ID:N06YB3IUM(1)調 AAS
>>887
nullはまだしもvoidは関係なくね?
893: (ワッチョイ 4e7b-r4R3) 2019/06/14(金)18:34 ID:Js4PARtC0(2/4)調 AAS
荒れる要素なくない?
メモリアドレスを保持する整数と型を組合せてあるだけだし

void*はアドレス保持するだけの変数って意味じゃないの
894
(1): (ワッチョイ 0301-oJPG) 2019/06/14(金)18:35 ID:6z9b86iK0(1/3)調 AAS
void *p;

p++ を許すのは GCC拡張だっけか
895: (ワッチョイ 9a01-zlGV) 2019/06/14(金)18:37 ID:AQvHkPsD0(2/2)調 AAS
>>891
「正しい」とか書くと荒れる元にしかならん
(初心者のうちは)…「という理解でいい」ぐらいにしとき
896: (アウアウウー Sac7-LNjH) 2019/06/14(金)18:39 ID:BA+tS0rQa(1)調 AAS
>>891
NULLの件はそれ逆だろう。
実際の0番地を特別扱いにしているのではなく、「どこも指さない特殊なアドレス」を表記するために整数0を使用しているだけで、0番地が特別な訳ではないはず。まあ実際にメモリ割り当てで0番地を割り当てることはしないだろうけど。
void*も、型を指定しないポインタを表すのに使っている型の指定であり、アドレスというのはおかしい。
897
(1): (ワッチョイ 4e7b-r4R3) 2019/06/14(金)18:45 ID:Js4PARtC0(3/4)調 AAS
>>894
サイズどういう扱いなのそれ
898: (ワッチョイ 0301-oJPG) 2019/06/14(金)18:48 ID:6z9b86iK0(2/3)調 AAS
>>897
確かポインタ演算時は1バイト (char) 扱いだったかな?
899: (ワッチョイ 4e7b-r4R3) 2019/06/14(金)18:52 ID:Js4PARtC0(4/4)調 AAS
1バイトなんか
まあそりゃそうか
900
(1): (ワッチョイ 9af9-vI2o) 2019/06/14(金)21:41 ID:WbpzR08B0(1)調 AAS
void*なんていらなくね?char*でいいじゃん
構造のわからないものは「バイト列」って意識でしょ?
901: 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 8b01-1i7F) 2019/06/14(金)21:47 ID:Qn7Uv1x90(1)調 AAS
>>900
void *がないとmemcpyに引数を渡すとき面倒。
902: (ワッチョイ 0301-oJPG) 2019/06/14(金)21:51 ID:6z9b86iK0(3/3)調 AAS
double * には double * だけを許し char * や strucut foo * を渡したらアカンと
要求される型を厳しくチェックしようとすると

「ポインタだったら実体の型は何でもいい」 という指示を char * に含ますわけにはいかない
903: (ワッチョイ 9a79-YCmz) 2019/06/14(金)21:52 ID:sIZagWQx0(1/2)調 AAS
汎用ポインタがchar*型になってたらコードレビューは絶対に通さないわ
904
(2): (ワッチョイ 03dc-9ye8) 2019/06/14(金)22:42 ID:6se/aPBa0(2/2)調 AAS
汎用ポインタというかvoid型という概念そのものが嫌い。
全てを厳密にやれ。言語を作る時点でまず関数に戻り値を強制すべきだったんだ。
ポインタわからん軍の原因はvoid型とかいう曖昧なせいなのがあるせいなのも一理あろうて。
905: (ワッチョイ 9a79-YCmz) 2019/06/14(金)23:06 ID:sIZagWQx0(2/2)調 AAS
>>904
関数型言語に行ってらっしゃい
906: (ワッチョイ 7602-byPh) 2019/06/15(土)00:02 ID:n7CfuAo60(1)調 AAS
Kotlin もよろしく
907
(1): (ワッチョイ 5b8f-X/yd) 2019/06/15(土)01:25 ID:RN+u9pJY0(1/2)調 AAS
windowsにおいて

setLocale(LC_ALL, "en_US.UTF-8");

が成功する環境と失敗する環境があるのですが何が原因かわかりません。。何かご存じの方いらっしゃらないでしょうか?
908
(1): (ワッチョイ 9a01-zlGV) 2019/06/15(土)09:25 ID:oZ4xCIwS0(1)調 AAS
>>904
お前の好き嫌いなんてどうでもいいし、よくわからん時点ならvoid*なんて無視しとけばいいだけ
この手の人は何故か全部を一気に理解しようとするけど今どきの言語仕様でそれやったら終わらんよ
909: (ワッチョイ dfd2-vI2o) 2019/06/15(土)09:37 ID:pAE5sudp0(1)調 AAS
「俺の考える最強に分かりやすいポインタの説明」

・・・無理
910
(1): (ワッチョイ 5ac5-YCmz) 2019/06/15(土)10:05 ID:QD7Sd0bs0(1)調 AAS
>>907
OSは?両方ともWindows10?
911: (ワッチョイ 1aa5-Rc2r) 2019/06/15(土)10:23 ID:T0BSudQv0(1)調 AAS
>>908 void君だろ

C言語なら俺に聞け 148
2chスレ:tech
37 名前:デフォルトの名無しさん (ワッチョイ f94f-yqSl)[sage] 投稿日:2018/09/22(土) 01:42:06.64 ID:16ZpsTnK0
>>36
マジでIDE使え。
そして貼るときはlanguageをCにしとけ。シンタックスハイライトが変わるから。
で、どれが分からんの?

> enter
> find
> delete
> show_all
> delete_all

mainはこの際分からなくていい。
最初に理解しないといけないのは show_all だ。

ただし細かいことを言ってもキリがないが、

> void show_all(void)

なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
さらに酷いのは show_all 内でグローバル変数 address を掴んでいること。
普通は void show_all(tag_address* ta) だよ。
そうじゃないと複数のリストがあったときに使い物にならないだろ。

マジな話、このソースのレベルの本なら捨てた方がいい。
俺は大学の教材がいいと思うぞ。
(読んでないが)リストならググったら東工大とか出てきた。
http://www.is.titech.ac.jp/compview/clang/chap11.html
912: (ワッチョイ ba52-LNjH) 2019/06/15(土)11:55 ID:hahimQeS0(1)調 AAS
懐かしいな、void君
913: (ワッチョイ 5b8f-X/yd) 2019/06/15(土)13:59 ID:RN+u9pJY0(2/2)調 AAS
>>910
コメントありがとうございます。
8と10で成功する端末があることを確認しています。失敗する端末は今のところ10だけです。

そして

SetConsoleOutputCP(65001);

を使用することで失敗する端末でもUTF-8をコンソールに表示でき、一応目的は達成できました。

調べてみると、結局のところwindowsではsetlocaleで2バイト以上文字は設定できないとのことだったのですが、ではなぜ成功する端末があるのか……
914: (ワッチョイ 5a73-YCmz) 2019/06/15(土)15:49 ID:fUxHfD4R0(1)調 AAS
謎だな
915
(1): (ワッチョイ f3ab-HbHi) 2019/06/15(土)16:57 ID:RWV4c9qt0(1)調 AAS
引数voidって古いシステムの保守でたまに見るな
916: (ワッチョイ f3f6-2qry) 2019/06/15(土)16:59 ID:5ne/m9/q0(1/3)調 AAS
と、古いシステムの保守なんかやったことねえやつがぬかすか
917: (ワッチョイ 8b01-9ye8) 2019/06/15(土)18:17 ID:ulIUfSMj0(1)調 AAS
引数voidは今でも普通に使うけどな
918
(3): (ワッチョイ f3f6-2qry) 2019/06/15(土)18:22 ID:5ne/m9/q0(2/3)調 AAS
void show_all(); なんて書くやつ見かけたらなるべく距離を置く
919: ◆QZaw55cn4c (ワッチョイ ba47-FGjx) 2019/06/15(土)18:40 ID:8bW7ANPO0(1)調 AAS
>>918
C++ ではそれは当たり前ですが…
920: (ラクペッ MM73-WxcC) 2019/06/15(土)18:42 ID:fAAVk5UIM(1)調 AAS
>>918の場合
C++なら問題ない
C言語だとちょっと不味い
921
(1): (ワッチョイ f3f6-2qry) 2019/06/15(土)18:46 ID:5ne/m9/q0(3/3)調 AAS
おまえからも距離を置きたいぜ
ここをどこだと思っている
C++なら無問題などと言わねばわからぬ者がいるとでも思っているのか
922: (ワッチョイ a3e8-AFaF) 2019/06/15(土)22:30 ID:BY4KYcRQ0(1)調 AAS
とりあえず、シングルステートでも返り値をboolにする俺がやってきましたよ。
923: (アウアウウー Sac7-jjx2) 2019/06/16(日)02:14 ID:wRD2pOBha(1)調 AAS
ケースバイケースで使い分ける
924
(1): (ラクペッ MM73-WxcC) 2019/06/16(日)08:10 ID:ORkp7ynDM(1)調 AAS
>>921
>>918の意図が分かってない者がいるぞ
さあどうする?
925: (ワッチョイ f3f6-2qry) 2019/06/16(日)10:35 ID:jvyHVZd00(1/3)調 AAS
>>924
世も末だな
困ったもんだ
926: (ワッチョイ 4e63-9ye8) 2019/06/16(日)11:22 ID:RqGVrKm70(1)調 AAS
大丈夫だよ
ここを見ながらシステム作っている奴はいないから
927
(2): (ワッチョイ 5ac5-YCmz) 2019/06/16(日)13:20 ID:X7GbKeYn0(1)調 AAS
Cはvoid省略すると可変長引数扱いになるんじゃなかったっけ?
C++は省略してもvoidだけど
928
(3): ◆QZaw55cn4c (ワッチョイ ba47-FGjx) 2019/06/16(日)13:35 ID:gDHKfsB60(1/2)調 AAS
>>927
無指定でどうこう、というのは確か C89 までの話だったかと
C99 では C++ と同じく省略しても void と記憶しています
929
(1): (ワッチョイ 9a79-YCmz) 2019/06/16(日)13:51 ID:Mp4zqsM90(1/2)調 AAS
>>928
破壊的変更が行われた仕様が回避できるなら回避すべきだな
930
(1): (ワッチョイ 9a33-vI2o) 2019/06/16(日)13:58 ID:VBKycPxl0(1)調 AAS
>>928
記憶違いでしょ。変わってないよ。違うと言うなら出典確認してから来てね。
http://kikakurui.com/x3/X3010-2003-01.html#93
> ...関数定義の一部でない関数宣言子の識別子並びが
> 空の場合,仮引数の個数及び型の情報がないことを指定する。
931: (アウアウウー Sac7-7DQ/) 2019/06/16(日)15:14 ID:+bML8jLFa(1)調 AAS
>>915
新しく作るプログラムでも引数なしならvoidにするよ。
まあこの頃Cで作ることそのものが減ったけどな。
932
(2): (アウアウエー Sa52-H7EU) 2019/06/16(日)15:41 ID:rIa5AgZza(1/4)調 AAS
入力がない関数ってのは関数ではないな
933: (ワッチョイ 1aa5-Rc2r) 2019/06/16(日)15:51 ID:eI7bdJXk0(1)調 AAS
>なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
こんな汚物が上から目線で何かもの言ってるかと思うと反吐が出る
さっさと消えてほしい
934: (ワッチョイ 9a01-zlGV) 2019/06/16(日)16:33 ID:wZzXbGgB0(1)調 AAS
>>932
なぜ入力がないと思ったんだ?
935: (ワッチョイ a37b-RuXw) 2019/06/16(日)16:48 ID:xMbXVdd30(1/2)調 AAS
DCL20-C. 引数を受け付けない関数の場合も必ず void を指定する
https://www.jpcert.or.jp/sc-rules/c-dcl20-c.html
を見ると(かなり読み解きにくいんだけど)…

プロトタイプ宣言では
int func(void); ... 引数0個
int func(); ... 関数呼び出しでの引数の整合をチェックしない

関数定義では
int func(void) {...} ... 引数0個
int func() {...} ... 引数0個

って具合に func() の解釈が一貫していない、
だから引数0個の関数は同じ形になるようにvoidをつけましょう、
という話に思える。
この辺が議論の混乱を生んでるんじゃないかな。

ついでに関数定義の int func() {...} の形式は廃止予定とも出てる。
プロトタイプの方は廃止予定ではない、ってことかな。
936
(1): (ワッチョイ f3f6-2qry) 2019/06/16(日)17:08 ID:jvyHVZd00(2/3)調 AAS
そこでjpcertを持ち出すのは興醒めだ
どっかの馬の骨が「こうすべき」と主張してるってだけな話は
現実のマシンの動きとそれ束縛しているiso/iec9899でどうなのかという話とは論点が違う
937: 935 (ワッチョイ a37b-RuXw) 2019/06/16(日)17:32 ID:xMbXVdd30(2/2)調 AAS
>>936
JPCERTを引用したのは「プロトタイプ宣言と関数定義とで
引数部が空の関数 func() の引数の解釈が違う」って話を
根拠つきで引き出すためでな。 >>927-930 あたりの流れを受けて。
規格の文章が並べて載ってるので都合が良いのだ(読みにくいけど)。

実際のところ、JPCERTのルールっていうか提案には
俺も全面的に賛成してるわけじゃない。むしろ強く反発する部分もあったり。
938: (ワッチョイ f3f6-2qry) 2019/06/16(日)19:00 ID:jvyHVZd00(3/3)調 AAS
必要ねえじゃん
iso/iec9899の条文を引用して
その箇所がどのように解釈できると
自分の言葉で言えばいいのを
虎の威を借る形でサボる怠慢を
読まされる側は付き合ってらんねー
939: (アウアウウー Sac7-7DQ/) 2019/06/16(日)19:52 ID:5fyh92Dva(1/2)調 AAS
>>932
そうだね。関数ではないね。しかしCだと処理をまとめる方法が関数しかないから仕方がないね。
940: (アウアウウー Sac7-7DQ/) 2019/06/16(日)20:02 ID:5fyh92Dva(2/2)調 AAS
まあしかし getchar() みたいにプログラムとは無関係な所から取ってきた値を返すとか、バッファやstatic変数で外部からアクセスできない変数の内容を返すみたいな処理は必要だから引数なしも必要だ。
グローバル変数やハードウエアの初期化処理だけまとめて書きたいなんて時にも使える。
941: (スップ Sd5a-X/yd) 2019/06/16(日)20:22 ID:6QFVwEqYd(1)調 AAS
○○Initialize()
的な関数の存在に違和感ないんだが
942
(1): (アウアウエー Sa52-H7EU) 2019/06/16(日)20:26 ID:rIa5AgZza(2/4)調 AAS
クラスのメンバーの操作だとしても、だったらそのクラスのコンテキストを渡すのが正しいだろうとは思うけどね。
現実としてはまあ規模による。
943: (ワッチョイ 9a79-YCmz) 2019/06/16(日)20:40 ID:Mp4zqsM90(2/2)調 AAS
プログラムの関数は数学の関数とは微妙に違うから仕方ない
仕方ないと思えない奴らが関数型言語を作った

兎に角Cでは本来の関数に制限するのは事実上不可能
944
(1): (ワッチョイ 6301-6CEg) 2019/06/16(日)20:47 ID:EhqtZL1+0(1)調 AAS
functionって関数の他に機能って意味もあるけど、英語圏の人はどちらの意味で使ってるんだろうね?
945
(1): ◆QZaw55cn4c (ワッチョイ ba47-FGjx) 2019/06/16(日)21:15 ID:gDHKfsB60(2/2)調 AAS
>>944
多分語義をわざわざ意識していないと思われ
946: (アウアウウー Sac7-7DQ/) 2019/06/16(日)21:19 ID:paRCIAHRa(1)調 AAS
>>942
オブジェクト指向言語のクラスだとプロパティでゲッターやセッター作る事があるが、ゲッターは普通は引数なしだな。
で、そういう言語ではだいたいはメソッドの引数なしで ()にしとけばC言語での(void)と同じ意味になる。
947: 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 8b01-1i7F) 2019/06/16(日)21:39 ID:KLVL0nwc0(1)調 AAS
機能という意味で言いたいときは、functionalityという単語もある。
948: (アウアウエー Sa52-H7EU) 2019/06/16(日)22:26 ID:rIa5AgZza(3/4)調 AAS
ゲッターセッター自体が、本当にそれ要るのかって思うこと多いよ。
手元にインスタンス持ってるわけだしさ。
949: (ラクペッ MM73-WxcC) 2019/06/16(日)23:14 ID:2lhSAUjOM(1)調 AAS
ゲッターセッターはインスタンス変数を隠蔽化することでインスタンス間の結合強度を下げるのが目的
なんでもなんでもインスタンス内部の構造に直接アクセスするとOOPの意味がない
950: (アウアウエー Sa52-H7EU) 2019/06/16(日)23:22 ID:rIa5AgZza(4/4)調 AAS
いや、ゲッター使うんだったら隠蔽できてないじゃん。
951: (ワッチョイ 5b8f-X/yd) 2019/06/16(日)23:34 ID:Fv7+hlk/0(1)調 AAS
昔ゲッターセッターってスレッドセーフにするための仕組みだと思ってた。
それくらいしか意味が思いつかなかった…
952: (アウアウカー Sac3-H7EU) 2019/06/16(日)23:43 ID:3o8UCwiCa(1)調 AAS
そうね、なんか前後に処理を入れるくらいの使い方はある。
でもそもそもその値を使う処理をそのクラスに持たせるのが隠蔽ということだね。
953: (ワッチョイ 4e63-YCmz) 2019/06/16(日)23:45 ID:7nwjMCFt0(1)調 AAS
今の仕組み上での利点としては
GetterSetter作ることで
インターフェースに適合させれるようになる

Cは知らん
954
(1): (ワッチョイ 9a79-YCmz) 2019/06/17(月)00:04 ID:0K02i6cy0(1/6)調 AAS
Cのスレで言っても仕方ないが
オブジェクト指向においてクラス外からフィールドに直接アクセスするのは禁じ手だぞ
955
(1): (ワッチョイ 5a73-YCmz) 2019/06/17(月)00:10 ID:seiOMGnS0(1)調 AAS
getter/setterなんてうざいだけだぜ
メンバ変数直でいいじゃん
956: (アウアウカー Sac3-H7EU) 2019/06/17(月)00:23 ID:YSrJE9j8a(1/2)調 AAS
>>954
そうそう、だからゲッターは駄目なんだよね。
C++でclassとstructのアクセス範囲が異なる理由がわかってない人が多すぎる。
957: (ワッチョイ 9a79-YCmz) 2019/06/17(月)00:26 ID:0K02i6cy0(2/6)調 AAS
>>955
お前には一生オブジェクト指向は無理だな
1-
あと 45 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.056s