[過去ログ] C言語なら俺に聞け 151 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(2): デフォルトの名無しさん  (ワッチョイ cf8f-fy95) [] 2019/04/02(火) 11:23:37.62 ID:SQXqRaAc0(1/3) AAS
 !extend:checked:vvvvv:1000:512 
 C言語の話題のみ取り扱います C++の話題はC++スレへ 
 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 
 数行で収まらないソースは以下を適当に使ってURLを晒す 
 https://paiza.io/ 
 https://ideone.com/ 
 http://codepad.org/ 
  
 C11 
 http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf 
  
 C99 
 http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf 
 http://kikakurui.com/x3/X3010-2003-01.html 
  
 C FAQ 日本語訳 
 http://www.kouno.jp/home/c_faq/ 
  
 JPCERT C コーディングスタンダード 
 https://www.jpcert.or.jp/sc-rules/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 
903: デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/14(金) 21:52:14.30 ID:sIZagWQx0(1/2) AAS
 汎用ポインタがchar*型になってたらコードレビューは絶対に通さないわ 
904(2): デフォルトの名無しさん (ワッチョイ 03dc-9ye8) [sage] 2019/06/14(金) 22:42:50.69 ID:6se/aPBa0(2/2) AAS
 汎用ポインタというかvoid型という概念そのものが嫌い。 
 全てを厳密にやれ。言語を作る時点でまず関数に戻り値を強制すべきだったんだ。 
 ポインタわからん軍の原因はvoid型とかいう曖昧なせいなのがあるせいなのも一理あろうて。 
905: デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/14(金) 23:06:06.10 ID:sIZagWQx0(2/2) AAS
 >>904 
 関数型言語に行ってらっしゃい 
906: デフォルトの名無しさん (ワッチョイ 7602-byPh) [] 2019/06/15(土) 00:02:16.99 ID:n7CfuAo60(1) AAS
 Kotlin もよろしく 
907(1): デフォルトの名無しさん (ワッチョイ 5b8f-X/yd) [sage] 2019/06/15(土) 01:25:34.80 ID:RN+u9pJY0(1/2) AAS
 windowsにおいて 
  
 setLocale(LC_ALL, "en_US.UTF-8"); 
  
 が成功する環境と失敗する環境があるのですが何が原因かわかりません。。何かご存じの方いらっしゃらないでしょうか? 
908(1): デフォルトの名無しさん (ワッチョイ 9a01-zlGV) [sage] 2019/06/15(土) 09:25:25.61 ID:oZ4xCIwS0(1) AAS
 >>904 
 お前の好き嫌いなんてどうでもいいし、よくわからん時点ならvoid*なんて無視しとけばいいだけ 
 この手の人は何故か全部を一気に理解しようとするけど今どきの言語仕様でそれやったら終わらんよ 
909: デフォルトの名無しさん (ワッチョイ dfd2-vI2o) [sage] 2019/06/15(土) 09:37:31.78 ID:pAE5sudp0(1) AAS
 「俺の考える最強に分かりやすいポインタの説明」 
・・・無理 
910(1): デフォルトの名無しさん (ワッチョイ 5ac5-YCmz) [sage] 2019/06/15(土) 10:05:45.19 ID:QD7Sd0bs0(1) AAS
 >>907 
 OSは?両方ともWindows10? 
911: デフォルトの名無しさん (ワッチョイ 1aa5-Rc2r) [sage] 2019/06/15(土) 10:23:13.60 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) [sage] 2019/06/15(土) 11:55:35.29 ID:hahimQeS0(1) AAS
 懐かしいな、void君 
913: デフォルトの名無しさん (ワッチョイ 5b8f-X/yd) [sage] 2019/06/15(土) 13:59:23.10 ID:RN+u9pJY0(2/2) AAS
 >>910 
 コメントありがとうございます。 
 8と10で成功する端末があることを確認しています。失敗する端末は今のところ10だけです。 
  
 そして 
  
 SetConsoleOutputCP(65001); 
  
 を使用することで失敗する端末でもUTF-8をコンソールに表示でき、一応目的は達成できました。 
  
 調べてみると、結局のところwindowsではsetlocaleで2バイト以上文字は設定できないとのことだったのですが、ではなぜ成功する端末があるのか…… 
914: デフォルトの名無しさん (ワッチョイ 5a73-YCmz) [sage] 2019/06/15(土) 15:49:06.56 ID:fUxHfD4R0(1) AAS
 謎だな 
915(1): デフォルトの名無しさん (ワッチョイ f3ab-HbHi) [sage] 2019/06/15(土) 16:57:06.86 ID:RWV4c9qt0(1) AAS
 引数voidって古いシステムの保守でたまに見るな 
916: デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/15(土) 16:59:05.33 ID:5ne/m9/q0(1/3) AAS
 と、古いシステムの保守なんかやったことねえやつがぬかすか 
917: デフォルトの名無しさん (ワッチョイ 8b01-9ye8) [sage] 2019/06/15(土) 18:17:17.87 ID:ulIUfSMj0(1) AAS
 引数voidは今でも普通に使うけどな 
918(3): デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/15(土) 18:22:29.22 ID:5ne/m9/q0(2/3) AAS
 void show_all(); なんて書くやつ見かけたらなるべく距離を置く 
919: ◆QZaw55cn4c  (ワッチョイ ba47-FGjx)  [sage] 2019/06/15(土) 18:40:21.75 ID:8bW7ANPO0(1) AAS
 >>918 
 C++ ではそれは当たり前ですが… 
920: デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/15(土) 18:42:04.96 ID:fAAVk5UIM(1) AAS
 >>918の場合 
 C++なら問題ない 
 C言語だとちょっと不味い 
921(1): デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/15(土) 18:46:57.27 ID:5ne/m9/q0(3/3) AAS
 おまえからも距離を置きたいぜ 
 ここをどこだと思っている 
 C++なら無問題などと言わねばわからぬ者がいるとでも思っているのか 
922: デフォルトの名無しさん (ワッチョイ a3e8-AFaF) [sage] 2019/06/15(土) 22:30:32.42 ID:BY4KYcRQ0(1) AAS
 とりあえず、シングルステートでも返り値をboolにする俺がやってきましたよ。 
923: デフォルトの名無しさん (アウアウウー Sac7-jjx2) [sage] 2019/06/16(日) 02:14:21.54 ID:wRD2pOBha(1) AAS
 ケースバイケースで使い分ける 
924(1): デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/16(日) 08:10:06.75 ID:ORkp7ynDM(1) AAS
 >>921 
 >>918の意図が分かってない者がいるぞ 
 さあどうする? 
925: デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/16(日) 10:35:26.32 ID:jvyHVZd00(1/3) AAS
 >>924 
 世も末だな 
 困ったもんだ 
926: デフォルトの名無しさん (ワッチョイ 4e63-9ye8) [sage] 2019/06/16(日) 11:22:43.26 ID:RqGVrKm70(1) AAS
 大丈夫だよ 
 ここを見ながらシステム作っている奴はいないから 
927(2): デフォルトの名無しさん (ワッチョイ 5ac5-YCmz) [sage] 2019/06/16(日) 13:20:19.90 ID:X7GbKeYn0(1) AAS
 Cはvoid省略すると可変長引数扱いになるんじゃなかったっけ? 
 C++は省略してもvoidだけど 
928(3): ◆QZaw55cn4c  (ワッチョイ ba47-FGjx)  [sage] 2019/06/16(日) 13:35:27.88 ID:gDHKfsB60(1/2) AAS
 >>927 
 無指定でどうこう、というのは確か C89 までの話だったかと 
 C99 では C++ と同じく省略しても void と記憶しています 
929(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/16(日) 13:51:25.10 ID:Mp4zqsM90(1/2) AAS
 >>928 
 破壊的変更が行われた仕様が回避できるなら回避すべきだな 
930(1): デフォルトの名無しさん (ワッチョイ 9a33-vI2o) [sage] 2019/06/16(日) 13:58:56.49 ID:VBKycPxl0(1) AAS
 >>928 
 記憶違いでしょ。変わってないよ。違うと言うなら出典確認してから来てね。 
 http://kikakurui.com/x3/X3010-2003-01.html#93 
 > ...関数定義の一部でない関数宣言子の識別子並びが 
 > 空の場合,仮引数の個数及び型の情報がないことを指定する。 
931: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/16(日) 15:14:33.98 ID:+bML8jLFa(1) AAS
 >>915 
 新しく作るプログラムでも引数なしならvoidにするよ。 
 まあこの頃Cで作ることそのものが減ったけどな。 
932(2): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/16(日) 15:41:14.25 ID:rIa5AgZza(1/4) AAS
 入力がない関数ってのは関数ではないな 
933: デフォルトの名無しさん (ワッチョイ 1aa5-Rc2r) [sage] 2019/06/16(日) 15:51:28.54 ID:eI7bdJXk0(1) AAS
 >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?  
 こんな汚物が上から目線で何かもの言ってるかと思うと反吐が出る 
 さっさと消えてほしい 
934: デフォルトの名無しさん (ワッチョイ 9a01-zlGV) [sage] 2019/06/16(日) 16:33:52.45 ID:wZzXbGgB0(1) AAS
 >>932 
 なぜ入力がないと思ったんだ? 
935: デフォルトの名無しさん (ワッチョイ a37b-RuXw) [sage] 2019/06/16(日) 16:48:40.62 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) [sage] 2019/06/16(日) 17:08:16.47 ID:jvyHVZd00(2/3) AAS
 そこでjpcertを持ち出すのは興醒めだ 
 どっかの馬の骨が「こうすべき」と主張してるってだけな話は 
 現実のマシンの動きとそれ束縛しているiso/iec9899でどうなのかという話とは論点が違う 
937: 935 (ワッチョイ a37b-RuXw) [sage] 2019/06/16(日) 17:32:48.77 ID:xMbXVdd30(2/2) AAS
 >>936 
 JPCERTを引用したのは「プロトタイプ宣言と関数定義とで 
 引数部が空の関数 func() の引数の解釈が違う」って話を 
 根拠つきで引き出すためでな。 >>927-930 あたりの流れを受けて。 
 規格の文章が並べて載ってるので都合が良いのだ(読みにくいけど)。 
  
 実際のところ、JPCERTのルールっていうか提案には 
 俺も全面的に賛成してるわけじゃない。むしろ強く反発する部分もあったり。 
938: デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/16(日) 19:00:02.87 ID:jvyHVZd00(3/3) AAS
 必要ねえじゃん 
 iso/iec9899の条文を引用して 
 その箇所がどのように解釈できると 
 自分の言葉で言えばいいのを 
 虎の威を借る形でサボる怠慢を 
 読まされる側は付き合ってらんねー 
939: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/16(日) 19:52:17.11 ID:5fyh92Dva(1/2) AAS
 >>932 
 そうだね。関数ではないね。しかしCだと処理をまとめる方法が関数しかないから仕方がないね。 
940: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/16(日) 20:02:46.68 ID:5fyh92Dva(2/2) AAS
 まあしかし getchar() みたいにプログラムとは無関係な所から取ってきた値を返すとか、バッファやstatic変数で外部からアクセスできない変数の内容を返すみたいな処理は必要だから引数なしも必要だ。 
 グローバル変数やハードウエアの初期化処理だけまとめて書きたいなんて時にも使える。 
941: デフォルトの名無しさん (スップ Sd5a-X/yd) [sage] 2019/06/16(日) 20:22:18.78 ID:6QFVwEqYd(1) AAS
 ○○Initialize() 
 的な関数の存在に違和感ないんだが 
942(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/16(日) 20:26:17.96 ID:rIa5AgZza(2/4) AAS
 クラスのメンバーの操作だとしても、だったらそのクラスのコンテキストを渡すのが正しいだろうとは思うけどね。 
 現実としてはまあ規模による。 
943: デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/16(日) 20:40:48.32 ID:Mp4zqsM90(2/2) AAS
 プログラムの関数は数学の関数とは微妙に違うから仕方ない 
 仕方ないと思えない奴らが関数型言語を作った 
  
 兎に角Cでは本来の関数に制限するのは事実上不可能 
944(1): デフォルトの名無しさん (ワッチョイ 6301-6CEg) [sage] 2019/06/16(日) 20:47:50.76 ID:EhqtZL1+0(1) AAS
 functionって関数の他に機能って意味もあるけど、英語圏の人はどちらの意味で使ってるんだろうね? 
945(1): ◆QZaw55cn4c  (ワッチョイ ba47-FGjx)  [sage] 2019/06/16(日) 21:15:12.39 ID:gDHKfsB60(2/2) AAS
 >>944 
 多分語義をわざわざ意識していないと思われ 
946: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/16(日) 21:19:48.09 ID:paRCIAHRa(1) AAS
 >>942 
 オブジェクト指向言語のクラスだとプロパティでゲッターやセッター作る事があるが、ゲッターは普通は引数なしだな。 
 で、そういう言語ではだいたいはメソッドの引数なしで ()にしとけばC言語での(void)と同じ意味になる。 
947: 蟻人間◆T6xkBnTXz7B0  (ワッチョイ 8b01-1i7F)  [sage] 2019/06/16(日) 21:39:10.07 ID:KLVL0nwc0(1) AAS
 機能という意味で言いたいときは、functionalityという単語もある。 
948: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/16(日) 22:26:00.96 ID:rIa5AgZza(3/4) AAS
 ゲッターセッター自体が、本当にそれ要るのかって思うこと多いよ。 
 手元にインスタンス持ってるわけだしさ。 
949: デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/16(日) 23:14:47.03 ID:2lhSAUjOM(1) AAS
 ゲッターセッターはインスタンス変数を隠蔽化することでインスタンス間の結合強度を下げるのが目的 
 なんでもなんでもインスタンス内部の構造に直接アクセスするとOOPの意味がない 
950: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/16(日) 23:22:32.20 ID:rIa5AgZza(4/4) AAS
 いや、ゲッター使うんだったら隠蔽できてないじゃん。 
951: デフォルトの名無しさん (ワッチョイ 5b8f-X/yd) [sage] 2019/06/16(日) 23:34:39.49 ID:Fv7+hlk/0(1) AAS
 昔ゲッターセッターってスレッドセーフにするための仕組みだと思ってた。 
 それくらいしか意味が思いつかなかった… 
952: デフォルトの名無しさん (アウアウカー Sac3-H7EU) [sage] 2019/06/16(日) 23:43:48.77 ID:3o8UCwiCa(1) AAS
 そうね、なんか前後に処理を入れるくらいの使い方はある。 
 でもそもそもその値を使う処理をそのクラスに持たせるのが隠蔽ということだね。 
953: デフォルトの名無しさん (ワッチョイ 4e63-YCmz) [sage] 2019/06/16(日) 23:45:38.60 ID:7nwjMCFt0(1) AAS
 今の仕組み上での利点としては 
 GetterSetter作ることで 
 インターフェースに適合させれるようになる 
  
 Cは知らん 
954(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 00:04:18.25 ID:0K02i6cy0(1/6) AAS
 Cのスレで言っても仕方ないが 
 オブジェクト指向においてクラス外からフィールドに直接アクセスするのは禁じ手だぞ 
955(1): デフォルトの名無しさん (ワッチョイ 5a73-YCmz) [sage] 2019/06/17(月) 00:10:42.98 ID:seiOMGnS0(1) AAS
 getter/setterなんてうざいだけだぜ 
 メンバ変数直でいいじゃん 
956: デフォルトの名無しさん (アウアウカー Sac3-H7EU) [sage] 2019/06/17(月) 00:23:14.51 ID:YSrJE9j8a(1/2) AAS
 >>954 
 そうそう、だからゲッターは駄目なんだよね。 
 C++でclassとstructのアクセス範囲が異なる理由がわかってない人が多すぎる。 
957: デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 00:26:17.86 ID:0K02i6cy0(2/6) AAS
 >>955 
 お前には一生オブジェクト指向は無理だな 
958: デフォルトの名無しさん (アウアウカー Sac3-H7EU) [sage] 2019/06/17(月) 00:39:11.63 ID:YSrJE9j8a(2/2) AAS
 まあ、ゲッター使うのはバカ。 
 データとメソッドを集約しないのはオブジェクト指向ではない。 
 ゲッターとセッターしかないオブジェクトなんて構造体で充分。 
959: デフォルトの名無しさん (ワッチョイ 3352-9ye8) [sage] 2019/06/17(月) 01:11:23.59 ID:J2deS77t0(1/2) AAS
 たしかPythonだとgetterもsetterも推奨されてないんだっけ? 
960(1): デフォルトの名無しさん (ワッチョイ 7602-byPh) [] 2019/06/17(月) 02:13:20.34 ID:BSqpudUb0(1) AAS
 文字列クラスで文字数返すやつなんかはゲッターの一種だが、ああいうのは必用だよな。 
 文字数指定する事が出来るようにする場合もセッター必用だよな。 
961: デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/17(月) 06:18:25.03 ID:6C3tyyZH0(1/2) AAS
 データメンバ直でもラッパーを挟めるなら問題なし 
962: デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/17(月) 07:27:38.45 ID:yl5KJ/vEM(1) AAS
 問題ないというよりも下手な設計をとりあえずカプセル化する時はラッパー被せて誤魔化すしかない 
963: デフォルトの名無しさん (ワッチョイ a3e8-AFaF) [sage] 2019/06/17(月) 08:27:04.42 ID:ikLTlFyV0(1) AAS
 ゲッタって仮想関数にする? 
964: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 08:52:31.79 ID:sn1adIo3a(1/2) AAS
 ラッパーって関数に対して被せるもんだろ? 
 メンバー変数のラッパーってなんだよ 
965: デフォルトの名無しさん (ワッチョイ 4e69-oJPG) [sage] 2019/06/17(月) 08:57:03.61 ID:mR1b1vjg0(1) AAS
 「メンバ書き換えたから更新よろしくな関数」の呼び出しで 
 やっと内部状態が変更するようなしくみ? 
966(1): デフォルトの名無しさん (ワッチョイ 3e7c-YCmz) [sage] 2019/06/17(月) 09:09:34.98 ID:8UjaS7YF0(1) AAS
 >>960 
 ゲッターとセッターは使わないのが主流 
  
 とくにゲッターとか名前からしておっかねーだろ 
967: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 09:34:11.11 ID:sn1adIo3a(2/2) AAS
 真とかエンペラーとかいろいろあるしな 
968(3): デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 12:37:41.39 ID:WHxj8IY7a(1/4) AAS
 >>966 
 え?でも値のセットや取得時に何か処理が必要なやつはゲッターやセッターではないの? 
 名前がそれっぽくなくて普通のメソッドだったとしても機能としてはそうなるよな。 
969(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 12:44:11.30 ID:6pEy3XEna(1/9) AAS
 >>968 
 だから、何故値を取得する必要があるのかと 
970(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 13:06:30.69 ID:0K02i6cy0(3/6) AAS
 値を取得する必要ガーとか馬鹿なのか? 
 主要言語の標準ライブラリにGetterを含まないクラスとかまず無いぞ 
971: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 13:27:51.70 ID:6pEy3XEna(2/9) AAS
 >>970 
 引数のvoid見たこともないのによくそんなこと言えるな… 
972: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 13:33:44.73 ID:WHxj8IY7a(2/4) AAS
 >>969 
 例えばファイルデスクリプタのようなものもそのデスクリプタによって識別されるファイルに関する情報の読み書きをするオブジェクトと言えるが、それ使ってファイルのバイト数を取得するとかデータを読み書きするとか、普通にやるよね。 
973: デフォルトの名無しさん (ワッチョイ 8b01-zlGV) [sage] 2019/06/17(月) 13:42:27.76 ID:qKjcjk6x0(1) AAS
 猿でもわかるポインタって本誰か出せよ 
974(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 14:24:17.06 ID:6pEy3XEna(3/9) AAS
 >>968 
 そのオブジェクトの中で密接にデータと関連する処理だったらゲッターは使わんでしょう。this->hogeを直接使うだけ。 
 あとたぶんあなたの場合はセッターゲッターの神髄を知らんと思う。単に構造体のメンバーにアクセスするだけのメソッドをイメージしてもらえれば。 
975: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 14:25:01.27 ID:6pEy3XEna(4/9) AAS
 974は972あてね 
976: デフォルトの名無しさん (ワッチョイ 1aa5-Rc2r) [sage] 2019/06/17(月) 14:25:36.67 ID:FBMbqlks0(1) AAS
 >>968 
 https://dotup.org/uploda/dotup.org1874697.jpg
 
 ゲッターはあぶない 
977: デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/17(月) 14:40:56.45 ID:lfEwbGXOM(1) AAS
 同一インスタンス内なら余計なことしなくても直接アクセスできる 
 セッターゲッターは他のインスタンスの変数にアクセスするための手段 
 オブジェクト間のメッセージパッシングにセッターやゲッターを利用する 
978(1): デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 14:41:55.67 ID:WHxj8IY7a(3/4) AAS
 >>974 
 あー。それでもリードオンリーにしたい時に言語にその機能がないならゲッターだけ作るよね。 
 Kotlinの場合はvalで済んじゃってしかも自動でゲッター作られてるけど。 
  
 で、真髄って何? 
979(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 15:00:44.76 ID:6pEy3XEna(5/9) AAS
 >>978 
 リードオンリーとか言わず、読ませなきゃいいじゃん 
980(1): デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 15:49:21.53 ID:WHxj8IY7a(4/4) AAS
 >>979 
 上で書いた文字列クラスの場合の文字数とかファイルのバイト数とか、外部から読めないとまずいものがあると思うんだが。 
981(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 15:57:28.98 ID:6pEy3XEna(6/9) AAS
 >>980 
 たとえばstd::stringのメソッドでgetってついてるのget_allocatorとgetlineくらいだよね。setなんてないし。 
 ゲッター感のあるやつ無くない?要らないのでは? 
982: デフォルトの名無しさん (ラクペッ MM73-WxcC) [sage] 2019/06/17(月) 16:10:03.98 ID:qeDnhEK2M(1) AAS
 メンバー変数はreadonlyなどの属性ではなくてprivateアクセス権限を設定して他オブジェクトから隠蔽するのが一般的 
983(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 17:25:37.86 ID:0K02i6cy0(4/6) AAS
 なんでC++とかいう後付けのオブジェクト指向もどき言語で延々と語ってるんだろうか… 
984(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 17:48:43.23 ID:6pEy3XEna(7/9) AAS
 >>983 
 そりゃもう、javaについで保守的だから。 
 他の意識高い感じの言語だとゲッターセッターなんて発想はありえないでしょ。 
985(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 17:52:05.72 ID:0K02i6cy0(5/6) AAS
 >>984 
 保守的?単なる継ぎ接ぎの欠陥言語だぞ 
  
 C#だとプロパティで隠蔽されてるが結局はGetter/Setterだな 
986(1): デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 18:00:37.93 ID:6pEy3XEna(8/9) AAS
 >>985 
 つまり、Cの構造体アクセスは実質ゲッターセッターだという主張か? 
987(1): デフォルトの名無しさん (ワッチョイ 9a79-YCmz) [sage] 2019/06/17(月) 18:01:53.33 ID:0K02i6cy0(6/6) AAS
 >>986 
 お前は何を言ってるんだ… 
988: デフォルトの名無しさん (アウアウエー Sa52-H7EU) [sage] 2019/06/17(月) 18:11:27.38 ID:6pEy3XEna(9/9) AAS
 >>987 
 引数void馬鹿を馬鹿にしてんだよ。わからんか? 
989: 蟻人間◆T6xkBnTXz7B0  (スフッ Sdba-1i7F)  [sage] 2019/06/17(月) 18:13:51.25 ID:Qf1//+vQd(1) AAS
 そろそろ次のスレ 
990: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 18:24:49.71 ID:3L1/L9kLa(1/3) AAS
 >>981 
 うーん。C++のクラスで喩えられてもすがわからんなあ。C++この頃全然やってないし。 
 昔ちょっとC++Builder使ったことあるがDelphiの延長線上の使い方しかしなかったし。 
  
 とりあえずJavaで言うとそれは何にあたるんだ? 
 Kotlinでもいいぞ。 
991: デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 18:26:16.26 ID:3L1/L9kLa(2/3) AAS
 すが、じゃねえ、すぐだ。 
 スマホだと間違いが変になるな。 
992(1): デフォルトの名無しさん (アウアウウー Sac7-7DQ/) [] 2019/06/17(月) 18:28:01.53 ID:3L1/L9kLa(3/3) AAS
 次スレ 
  
 C言語なら俺に聞け 152   
 2chスレ:tech 
993: デフォルトの名無しさん (ワッチョイ a37b-RuXw) [sage] 2019/06/17(月) 19:42:03.79 ID:biel+EqR0(1) AAS
 >>992 
 >>2-3 あたりの 
 「次スレを作るときは…」の説明を書き足さなくて良いのかしら? 
 自分、その辺の正しい立て方を知らず下手に書き加えられないので指摘だけ。 
994: デフォルトの名無しさん (ワッチョイ 4e63-9ye8) [sage] 2019/06/17(月) 20:01:23.71 ID:vIcnvKOP0(1) AAS
 IDを非表示にする場合 
 !extend:none::1000:512 
  
 IDを表示し、強制コテハンは表示しない(5ch標準設定と同じ) 
 !extend:checked::1000:512 
  
 IDを表示し、IPアドレスを表示 
 !extend:checked:vvvv:1000:512 
  
 IDを表示し、強制コテハンを表示 
 (レスの名前欄に「ワッチョイ」「スプー」「ササクッテロ 」などのニックネームがつく) 
 !extend:checked:vvvvv:1000:512 ← 今はこれ 
  
 IDを表示し、IPアドレスと強制コテハンを表示 
 !extend:checked:vvvvvv:1000:512 
  
 RONIN使えばまた表示を消せるので、強制とは言いがたいが 
995(1): デフォルトの名無しさん (ワッチョイ 5ac5-YCmz) [sage] 2019/06/17(月) 20:16:07.33 ID:/ODDlXVN0(1) AAS
 ああワッチョイ消してる奴ってRONIN使ってるのか 
 知らなかったな 
996: デフォルトの名無しさん (ワッチョイ 6301-AFaF) [sage] 2019/06/17(月) 20:27:33.84 ID:IK9o4iD50(1) AAS
 密結合を避ける 
997: ◆QZaw55cn4c  (ワッチョイ ba47-FGjx)  [sage] 2019/06/17(月) 20:55:12.93 ID:mDiaA7dQ0(1/2) AAS
 >>995 
 RONIN 餅ですがワッチョイの消し方がわからないのです、消すつもりもないのですが… 
998(1): デフォルトの名無しさん (ワッチョイ 3352-9ye8) [sage] 2019/06/17(月) 21:23:19.93 ID:J2deS77t0(2/2) AAS
 名前欄に!slip:verboseじゃないの? 
 コテハンとかはどうなるかまでは知らないけど 
999: ◆Ir/UpJ7SUVFO  (ワッチョイ ba47-FGjx)  [sage] 2019/06/17(月) 21:26:41.57 ID:mDiaA7dQ0(2/2) AAS
 >>998 
 どれどれ、試してみましょうか… 
1000: デフォルトの名無しさん (ワッチョイ f3f6-2qry) [sage] 2019/06/17(月) 21:29:58.20 ID:6C3tyyZH0(2/2) AAS
 >>945 
 そんなことはどうでもいい 
 C99ではどうたらを早く説明しろ 
  
  逃 げ ん な こ ら ! 
1001(1): 1001 []  ID:Thread(1/2) AAS
 このスレッドは1000を超えました。 
 新しいスレッドを立ててください。  
life time: 76日 10時間 6分 21秒 
1002(1): 1002 []  ID:Thread(2/2) AAS
 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 
 運営にご協力お願いいたします。 
─────────────────── 
 《プレミアム会員の主な特典》 
 ★ 5ちゃんねる専用ブラウザからの広告除去 
 ★ 5ちゃんねるの過去ログを取得 
 ★ 書き込み規制の緩和 
 ─────────────────── 
  
 会員登録には個人情報は一切必要ありません。 
 月300円から匿名でご購入いただけます。 
  
 ▼ プレミアム会員登録はこちら ▼ 
 https://premium.5ch.net/ 
  
 ▼ 浪人ログインはこちら ▼ 
 https://login.5ch.net/login.php 
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s