22/04/05(火)01:46:39 ポイン... のスレッド詳細
削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。
22/04/05(火)01:46:39 No.913617748
ポインタの意味とか分からんまま雰囲気で書いてる やっぱ真面目に勉強したほうがいいのかなぁ
1 22/04/05(火)01:48:02 No.913617987
C++はいい newしてfreeできる
2 22/04/05(火)01:49:03 No.913618161
shared_pointerでなんとかなるじゃん デバッグが変ななるけど
3 22/04/05(火)01:49:48 No.913618295
ポインタは変数のアドレスを格納する変数だ 難しく考えることはない
4 22/04/05(火)02:31:53 No.913624882
関数内で引数の中身弄るやつくらいにしか認識してない
5 22/04/05(火)02:37:26 No.913625520
ポインタはいいけど ポインタのポインタ位から正しく理解してるか不安になる
6 22/04/05(火)02:38:44 No.913625686
今から勉強して何に使うの
7 22/04/05(火)02:39:58 No.913625831
割と基本的な事が正攻法でできなくて曲芸みたいなことやらされてこれでいいのってなる言語
8 22/04/05(火)02:40:53 No.913625946
アセンブリやれば完全に理解できるぞ
9 22/04/05(火)02:41:40 No.913626027
>割と基本的な事が正攻法でできなくて曲芸みたいなことやらされてこれでいいのってなる言語 そもそも正攻法で出来ることなんかハローワールド以外何一つないぞ ハローワールドも正攻法かな?
10 22/04/05(火)02:43:00 No.913626186
cout構文はキモイよ…
11 22/04/05(火)02:43:33 No.913626270
streamは控えめに言ってもクソだから気にしなくていいよ
12 22/04/05(火)02:44:41 No.913626394
ポインタって参照みたいなもんでしょ?
13 22/04/05(火)02:44:44 No.913626398
>アセンブリやれば完全に理解できるぞ やりたくない!
14 22/04/05(火)02:46:14 No.913626575
C++の入門書でHelloWorld出すのにcout使わせる文化はクソ中のクソだと思うんだ
15 22/04/05(火)02:52:12 No.913627184
streamは天才が作ったんだろうな 俺たちにはむずかしすぎる
16 22/04/05(火)02:53:14 No.913627275
linuxでマルチスレッド扱った時にosstream使ってバグって以来使うのやめた
17 22/04/05(火)02:54:12 No.913627358
std::cout << "おぺにす..."; とかは演算子オーバーライドでこういう変態的なこともできるよ!のサンプル以上の意味はないと思う…
18 22/04/05(火)02:54:50 No.913627423
Cもこいつもコンパイラがよし!通れ!しすぎる…
19 22/04/05(火)03:02:28 No.913628228
>ポインタって参照みたいなもんでしょ? どっちかというと参照がポインタみたいなもんだし…
20 22/04/05(火)03:06:54 No.913628621
streamは演算子オーバーロードふざけすぎとかは一旦置いておくとしても std::hex()とかの状態が残り続けるのが最高にクソ
21 22/04/05(火)03:07:25 No.913628674
>std::cout << "おぺにす..."; >とかは演算子オーバーライドでこういう変態的なこともできるよ!のサンプル以上の意味はないと思う… そう見えるけどあれ実はモナドに近いんよ
22 22/04/05(火)03:08:47 No.913628782
そんな文句言うならstd::format使えよ
23 22/04/05(火)03:09:16 No.913628834
coutとかは別にそこまでクソでもないというか 結構データ変換とかで実装してるライブラリも多いような
24 22/04/05(火)03:09:57 No.913628894
>割と基本的な事が正攻法でできなくて曲芸みたいなことやらされてこれでいいのってなる言語 例えばどういうの?
25 22/04/05(火)03:10:53 No.913628978
C++勉強しようとしてcoutの変なオーバーライドでわけわかんなくなって諦めた記憶がある
26 22/04/05(火)03:11:19 No.913629019
テレワークだからって遅くまで起きてるんじゃないよ
27 22/04/05(火)03:13:40 No.913629188
https://qiita.com/kazatsuyu/items/478c55de0f75ea5904bd この記事好き
28 22/04/05(火)03:13:45 No.913629195
>テレワークだからって遅くまで起きてるんじゃないよ 趣味でプログラミングしてる無職だから大丈夫
29 22/04/05(火)03:14:52 No.913629296
ストリームの演算子オーバーロードって要するにモナドと同じ文脈の明示化で 実装がクソはわかるけど見た目がクソは使い方間違えてる
30 22/04/05(火)03:15:22 No.913629340
>趣味でプログラミングしてる無職だから大丈夫 よかった…
31 22/04/05(火)03:17:39 No.913629540
>std::cout << "おぺにす..."; >とかは演算子オーバーライドでこういう変態的なこともできるよ!のサンプル以上の意味はないと思う… 一応突っ込むけどオーバーロードな 演算子をオーバーライドしたら大変だ
32 22/04/05(火)03:19:08 No.913629654
モナドって何…?
33 22/04/05(火)03:19:20 No.913629670
stlまじめに勉強することダメだと思ってた内容が頭いい人の発想だらけで感動するよ 使う時ダメなのは変わらないけど
34 22/04/05(火)03:20:45 No.913629798
streamのオーバーロードはやりたいことはわかるけど初心者が触れるものという意味ではどうかと思う 大抵ハローワールドで出てくる上に何これC++ってこんな妙な表記すんの?ってなりかねない
35 22/04/05(火)03:21:17 No.913629832
>モナドって何…? プログラミング用語のモナドは特定のデータや処理を扱うための文脈を持つ型だよ 一般的な意味の数学のモナドは不毛だからやめよう
36 22/04/05(火)03:24:22 No.913630058
>streamのオーバーロードはやりたいことはわかるけど初心者が触れるものという意味ではどうかと思う 逆じゃないかな? こんな些細なことでダメなら早々に他の言語行った方がいいと思う
37 22/04/05(火)03:25:08 No.913630123
まあ入出力ってどうしたって泥臭い領域で キモかったり不便だったりはある程度しょうがないかなってところはあるな C#のString.Formatの書式とか未だに覚えらんねえ…
38 22/04/05(火)03:25:54 No.913630174
ポインタのポインタとポインタの参照とポインタのムーブを正しく使い分け出来てる人いるんだろうか
39 22/04/05(火)03:29:18 No.913630422
ポインタの参照は使う場面ないけど ポインタのポインタとムーブは普通に使わないか?
40 22/04/05(火)03:30:35 No.913630500
配列・文字列使うだけでポインタ使うことになるから ポインタのポインタまではまあ…?
41 22/04/05(火)03:30:48 No.913630521
std::moveが何をしているかは理解していない
42 22/04/05(火)03:36:03 No.913630905
>std::moveが何をしているかは理解していない コイツはここで終わりだよ!って書いてる 受け取る方はコイツもう終わりだから好きにして良いよってなってる
43 22/04/05(火)03:36:58 No.913630972
適当な構造体を出力するときとか<<演算子のオーバーロードだけで済むのは楽…ってなった フォーマット指定はクソだけど
44 22/04/05(火)03:38:35 No.913631118
>適当な構造体を出力するときとか<<演算子のオーバーロードだけで済むのは楽…ってなった C++それなりにやってるとstream自体は使うよね ファイルに流したりネットワークに流したりも簡単だし 遅いとか細かいとこのダメさはあるが…
45 22/04/05(火)03:44:00 No.913631532
関数ポインタのポインタはコールバックてよく使うけどなんかもっとスマートにやれないのか
46 22/04/05(火)03:47:03 No.913631737
c++の.と->の優先度で妙な書き方になるのって一生直らない?
47 22/04/05(火)03:49:56 No.913631896
関数ポインタ系は概念としては分かるんだけど構文が気持ち悪い
48 22/04/05(火)03:51:42 No.913632001
関数ポインタは辛すぎるからラムダ式とfunction使うね… 場合によってはそっちのほうが早くなるらしいし…
49 22/04/05(火)03:53:06 No.913632092
Cの宣言のファンキーさはひとえにその方がパーサーをシンプルに書けるからだからしょうがないんだ…
50 22/04/05(火)03:53:13 No.913632101
関数ポインタの無法感は好きだけどstd::functionとかの方がシンプルに分かりやすい…
51 22/04/05(火)03:53:48 No.913632134
>関数ポインタのポインタはコールバックてよく使うけどなんかもっとスマートにやれないのか [](){}
52 22/04/05(火)03:56:36 No.913632291
>関数ポインタは辛すぎるからラムダ式とfunction使うね… >場合によってはそっちのほうが早くなるらしいし… functionは普通に遅くなる ラムダはインライン化あるからある程度は速くなる
53 22/04/05(火)03:57:05 No.913632320
記号使いまわしすぎ!
54 22/04/05(火)03:58:57 No.913632423
今Cのライブラリのコールバックとか以外で関数ポインタ使うこととかあるの?
55 22/04/05(火)03:58:59 No.913632428
あーラムダはインライン化無かったら関数ポインタより遅くなることも結構ある あれ確か言語仕様から関数オブジェクト扱いだから
56 22/04/05(火)03:59:55 No.913632489
>今Cのライブラリのコールバックとか以外で関数ポインタ使うこととかあるの? std::functionがそもそも関数ポインタじゃ無かった?
57 22/04/05(火)04:02:50 No.913632642
>std::functionがそもそも関数ポインタじゃ無かった? 保持できるけど普通に使ってたら直接は使わないのでは
58 22/04/05(火)04:03:27 No.913632677
いや語弊があったな std::functionを引数型に使う時はか バリアあるからインライン化止まったはず
59 22/04/05(火)04:07:27 No.913632876
>保持できるけど普通に使ってたら直接は使わないのでは まあ全部置き換えても支障ないね特に 公開APIだとちょっと微妙だけど
60 22/04/05(火)04:14:35 No.913633213
>ポインタは変数のアドレスを格納する変数だ >難しく考えることはない この言い方がもうダメ 中学生向けに説明する動画見たことあるけど ショートカットみたいなもんだよって説明してた
61 22/04/05(火)04:15:24 No.913633254
演算が無けりゃな…
62 22/04/05(火)04:18:50 No.913633438
今rust勉強してるんだけどなかなか大変 でもコンパイラが頭良い感じがして頑張る甲斐がある https://doc.rust-jp.rs/book-ja/ 読んでrustlingsという問題集やってる
63 22/04/05(火)04:19:19 No.913633462
値渡しアドレス渡し参照渡しって明確に区別されてるからな
64 22/04/05(火)04:20:06 No.913633502
>この言い方がもうダメ >中学生向けに説明する動画見たことあるけど >ショートカットみたいなもんだよって説明してた 俺は届け先の住所(アドレス)が書いてある紙が入ってるって教えられたな その紙に書いてある住所に届けたりそこから持ってきたりするって感じで
65 22/04/05(火)04:22:33 No.913633628
>記号使いまわしすぎ! ポインタ周りの混乱する人はほとんどが記号が文脈でいろんな意味があるのが悪い
66 22/04/05(火)04:25:33 No.913633750
Cには値渡ししかなくて それを値渡し、もしくはポインタの値渡しと使う時に呼び分けてるという理解で良いよね? C++にはいわゆる参照渡しがあるよね?
67 22/04/05(火)04:25:40 No.913633757
メモリの説明すればいいだけの話だよな そこを省いてメモリに関する操作ムリヤリさせようとするからおかしくなる Cは直接メモリいじくり回すアセンブリ通過して作った言語だから外から入ると説明不足になる
68 22/04/05(火)04:27:48 No.913633855
>Cは直接メモリいじくり回すアセンブリ通過して作った言語だから外から入ると説明不足になる とっかかりでアセンブリは辛いので Steamにあった仮想機械をアセンブリっぽいノードで操作して ゴールを目指すゲームは入門によさそうだと思った
69 22/04/05(火)04:32:19 No.913634045
もう半年仕事してないから書けなくなってるんじゃないかって思って怖い… おべんきょしないと…
70 22/04/05(火)04:36:45 No.913634255
よくわかんないからCString使うね…
71 22/04/05(火)04:42:40 No.913634536
>メモリの説明すればいいだけの話だよな >そこを省いてメモリに関する操作ムリヤリさせようとするからおかしくなる 言語仕様のメモリモデルがリニアだから逆説的な気がする あくまで言語仕様ではポインタの格納するアドレスはC言語独自のもので格納先がインターネットでも合法だし
72 22/04/05(火)04:44:51 No.913634635
C言語そのものが仮想機械みたいなのを想定してる 今はその機械が順調に使われてるけどこの先Javaスタックモデルみたいな機械が主流とかになったら速度遅くなって破綻するだろな まあARMが優勢になりつつある時点でないけど
73 22/04/05(火)04:46:14 No.913634698
>C言語そのものが仮想機械みたいなのを想定してる >今はその機械が順調に使われてるけどこの先Javaスタックモデルみたいな機械が主流とかになったら速度遅くなって破綻するだろな 第五世代コンピュータのシグマプロジェクトが成功していたら…
74 22/04/05(火)04:47:22 No.913634733
構造体とかもう覚えてない… クラスとメソッドしかわからない…
75 22/04/05(火)04:49:30 No.913634813
俺のC++知識はC++11で止まっている
76 22/04/05(火)04:54:28 No.913634980
>記号使いまわしすぎ! 後方互換のために新しいキーワードは入れにくいんじゃ…
77 22/04/05(火)04:54:32 No.913634982
C++11/14/17/20みたいな感じで機能追加してくれるのは嬉しい 非推奨になった機能を用いた箇所の保守…?そうねえ……
78 22/04/05(火)04:56:28 No.913635046
始めてポインタ触ったの10代だけど正しく理解したのは20代だった そこから更に年を重ねた今はC++触らないから忘れた
79 22/04/05(火)05:02:45 No.913635261
>>記号使いまわしすぎ! >後方互換のために新しいキーワードは入れにくいんじゃ… 文脈依存のキーワード使うようになったから今後は多少軽減されるはず…
80 22/04/05(火)05:37:23 No.913636575
そこまで知らなくても仕事はできるよ 一からコード書かなくても切った貼ったでなんとかなるし ネット上には先人が沢山いるからググれば解決できるし
81 22/04/05(火)05:39:35 No.913636658
俺は組み込みおじさん C++はC
82 22/04/05(火)05:40:27 No.913636698
>newしてfreeできる 1から勉強し直せすぎる…
83 22/04/05(火)05:52:08 No.913637174
>1から勉強し直せすぎる… え?できるよ? デコンストラクタ呼びたくない時にいいよね!
84 22/04/05(火)05:53:25 No.913637214
&&←右辺値参照 &&←ユニバーサル参照 俺はc++理解するのを諦めた