C++相談室 part160

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2022/04/15(金) 08:39:32.42ID:WMzvufu2
前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1645239402/
2022/05/15(日) 15:12:44.20ID:9F0U78jm
真のエンタープライズwww
2022/05/15(日) 15:17:09.87ID:jVQ55S+h
それデータの並べ方程度の話じゃないの?
列志向のDBの方が速いみたいな
830デフォルトの名無しさん
垢版 |
2022/05/15(日) 15:21:41.77ID:UBy5+e79
スレッドってスタック持ってるじゃん
OSや設定にもよるけど1MBとか これがバカにならないんだと思う

ちなみにJavaでは仮想スレッドというOSのスレッドと1対1対応させない並列化の仕組みが導入される
これで100万並列を実現できるんだと
2022/05/15(日) 15:45:52.28ID:AAncJnA8
例えばRustのタスク(=仮想的ないわゆるグリーンスレッド)はスタックレスなコルーチンなので個別の専用スタックを必要としなかったり
2022/05/15(日) 15:58:28.15ID:m7KinyBQ
そもそもマルチスレッドと並列処理は無関係でしょ
2022/05/15(日) 16:04:53.51ID:AAncJnA8
>>832
むしろマルチOSスレッドこそ並列処理
逆にRustのタスク等はシングルOSスレッド上でも複数のタスクが同時に動くのでその場合は並行処理
2022/05/15(日) 16:07:17.76ID:VMVrIVgn
一般的な並列処理の定義だと同時に実行される複数のスレッドが必要だと思うけど。
835デフォルトの名無しさん
垢版 |
2022/05/15(日) 16:40:35.18ID:UBy5+e79
>>834
そんなことはないでしょ
1C1T CPUの時代でもタイムスライスでマルチスレッドって呼んでたんだから
2022/05/15(日) 16:51:02.84ID:fDoXvrNi
並列、並行、スレッド、タスクをごっちゃにしてる奴がいるな
2022/05/15(日) 17:03:15.24ID:2P7WoVEL
それはマルチタスクなんじゃ
2022/05/15(日) 17:26:51.22ID:d9+IDznH
>>812
てめえのほざく大規模開発がChromium かいww
839デフォルトの名無しさん
垢版 |
2022/05/15(日) 17:33:52.78ID:dikgwIGH
>>832
別な話だけど無関係でもない
ユニプロセッサな環境でのマルチは待っている間に他のことをするのが目的
マルチプロセッサな環境でのマルチは上記に加えCPU性能を余さず使う目的もある
2022/05/15(日) 17:35:04.93ID:d9+IDznH
>>827
>I/O待ちでselect切り替えしたほうがパフォーマンスが出る

こんまもんマルチスレッド以前にマルチタスクOSで昔からやってることだろ
2022/05/15(日) 17:39:18.19ID:d9+IDznH
>>832
>そもそもマルチスレッドと並列処理は無関係でしょ
>そもそもマルチスレッドと並列処理は無関係でしょ
>そもそもマルチスレッドと並列処理は無関係でしょ
>そもそもマルチスレッドと並列処理は無関係でしょ


どういうおつむしてんだwww
2022/05/15(日) 17:55:59.75ID:d9+IDznH
>>812

テメエのほざく大規模開発ってのがChromiumかよ
Newvieがわらわせんなよ
843デフォルトの名無しさん
垢版 |
2022/05/15(日) 18:08:14.42ID:UBy5+e79
>>840
そうそう昔からやってるんだよ
俺がいいたいのはそこ

CPUコア数がどんどん増えていくしマルチスレッドプログラミングが正義!
ってもてはやされていたけどパフォーマンスの問題があってスレッド使わない方式に回帰してるの

オブジェクト指向も同様にオブジェクト指向プログラミング登場以前の手法に回帰することはありえる
ということが言いたかった
スレッドの話を持ち出して混乱させてしまってごめん
2022/05/15(日) 18:10:51.75ID:d9+IDznH
>>819
OSを利用するために用意されたライブラリ群がオブジェクト指向的な、
メッセージをHand toする形のライブラリコールを利用してるからといって、
OSのカーネルそのものがオブジェクト指向で設計されてるとでも思ってんのか。
そもそもUnixにしろRTOSにしろオブジェクト指向とは縁もゆかりも無い時代からのOSなんだがな。
845デフォルトの名無しさん
垢版 |
2022/05/15(日) 18:17:13.65ID:TK6qKU9x
しかしX11はオブジェクト指向。
846デフォルトの名無しさん
垢版 |
2022/05/15(日) 18:38:13.42ID:TK6qKU9x
Windowsはシステム全体がオブジェクト指向。
どのような言語を使おうがオブジェクト指向。
2022/05/15(日) 18:44:58.55ID:d9+IDznH
xlibでプログラム書いたことあんのか、
Cコードの固まりがオブジェクト指向てどこの誰が教えてくれたんだ?
xlibのあまりのコードの多さ見て
C++に目を付けたあげく、勝手に文法変えてWinMainなんて用意したのがVC++だろ
そもそも、
Windowsとは違い、X はOSではないことぐらい知っとけよw
おれは>>819の"OS"にレスしてんの
2022/05/15(日) 18:53:16.28ID:6iIg86JO
>>843
>パフォーマンスの問題があってスレッド使わない方式に回帰してるの
それはないのでは?物理コア数の増加にともなって、やっぱりスレッドを使う方向に舵を切っているかと
2022/05/15(日) 18:56:02.19ID:d9+IDznH
あれ?
WinMain用意したときてC++じゃなくてCじゃなかったかな?
850デフォルトの名無しさん
垢版 |
2022/05/15(日) 19:00:43.54ID:TK6qKU9x
>>847
関数呼び出しの第一引数がオブジェクト、関数がメッセージと考える。
第一引数のオブジェクトにメッセージを送るのがXlibの関数呼び出し。
2022/05/15(日) 19:10:33.61ID:d9+IDznH
>>848
まだまだスレッド数が少ないCPUではスレッド使えるのに使わないのは悪だな
GPUだとスレッド立ち上げがパフォーマンス低下(処理速度でなくとも消費電力)に繋がる場面はすぐ訪れる。
1万データのMax検索するのに1万スレッド起動しても何の意味も無いから
回帰もなにも、パフォーマンス改善するから並列化を利用するのであって、
オブジェクト指向みたいな生産効率向上(という幻相)のためにパフォーマンスを犠牲にする、
エンドユーザーからみれば安かろう悪かろうでしかないコードスタイルの話とはわけが違う
2022/05/15(日) 19:12:06.95ID:p4xLOVEd
メンバ関数なんかも引数のオブジェクト省略されてるだけだしねあれ
2022/05/15(日) 19:28:05.58ID:d9+IDznH
>>650
画像処理プログラムやるとすぐわかるのが関数引数の数がすぐに肥大化すること。
これじゃ、関数コールの際、パフォーマンスが低下すること甚だしいんで、
structという一つのデータグラムにして、ポインタ渡すことと、その順番を
関数コールの一つのマナーにしてるだけだろ。
classはそこから生まれたとしても、
X11をオブジェクト指向というのは拡大解釈だ。
2022/05/15(日) 19:33:03.96ID:p4xLOVEd
xは知らんけどwindows apiのウィンドウ周りはc言語でオブジェクト指向だよ
ハンドル引数にして色んなタイプのウィンドウまとめて扱えるようにしてる
setwindowtext使えばタイトルバー持つウィンドウはタイトルが変わる
テキストボックスならテキストがかわるって具合に
2022/05/15(日) 19:39:10.56ID:p4xLOVEd
上にも書いたけどそのstructのポインタをコード上は見えないけど渡してるのがメンバ関数ね
856デフォルトの名無しさん
垢版 |
2022/05/15(日) 19:42:29.90ID:TK6qKU9x
>>855
スレ住人は全員わかってることなので、わからない人はC++を使わない人なのでは?
すると、何のためにスレへ?という疑問がわく。
2022/05/15(日) 20:15:20.39ID:c/66LOo2
>>847
Cでオブジェクト指向なんてごまんとあるがろうが
同じグーグル製プロジェクトで言うとlibwebpなんて典型だな
>>850>>854が言ってる通り実質thiscallを多用するCなんて本当にごまんとある
関数ポインタ渡す際にvoid*のタグもセットで渡すとかもな
2022/05/15(日) 20:22:33.85ID:ymmVxVRO
よく見たらこのスレの住人もオブジェクト指向マンと同じレベルで気持ち悪い奴だらけだった
2022/05/15(日) 20:22:35.74ID:c/66LOo2
>>848
シングルスレッド非同期に回帰しつつあるのはJavaScriptがブラウザやNode.jsでそれの有用性を証明しまくってるからだな
最近だとC#Unityでゲームにおいてもシングルスレッド非同期は多用され始めてる
ロック関連によるバグやスレッド作成コストを回避出来るのが主な利点
2022/05/15(日) 20:46:16.10ID:9hg43hf0
その昔IBMがM:NモデルのPOSIXスレッドAPI(NGPT)を
Linuxカーネルに入れようとしてた記憶してるけど
どうなったんだっけ?
2022/05/15(日) 20:57:15.34ID:Kh2G/sgN
なくなりました
2022/05/15(日) 21:04:11.98ID:9hg43hf0
1:1モデルのRedHatのNPTLに性能で負けたんだっけな?
2022/05/15(日) 21:28:16.73ID:m7KinyBQ

計算量見積れない処理は全部バックグラウンドスレッドに投げるだろ
Javascriptも一緒
2022/05/15(日) 22:03:31.83ID:tH2IP/Jf
>>857
そもそもunixのファイル関係だってread/writeとかの関数ポインタを含む構造体で管理してるから画面出力を簡単にディスクに出力できる
まんま仮想関数テーブルみたいなもんや
ID:d9+IDznH はだいぶレベル低いか単なるレス古事記だろうな
2022/05/16(月) 08:11:50.24ID:IfoxgD2F
「オブジェクト指向」とかいうバズワードで議論するなら、せめて定義ぐらいは提示しろよ。
「定義はwikipediaのオブジェクト指向プログラミング」あたりで議論したら?
2022/05/16(月) 08:56:37.65ID:l25MG5nC
>>863
jsはasync awaitもコルーチン利用したシングルスレッドだよ
2022/05/16(月) 09:00:24.74ID:mycbCv2g
OSからみるとシングルスレッドだけど、開発言語の補助でマルチスレッド風に記述できるようになっているのか
OSからみてもマルチスレッドなのか
2022/05/16(月) 09:40:06.21ID:I2zrNWyd
非同期機能が内部的にマルチスレッド使ってる可能性はあるよ
2022/05/16(月) 09:55:17.75ID:l25MG5nC
そもそも非ネイティブ言語の場合は実行環境によるとしか言いようがないが、async awaitのためにマルチスレッドが走ることはない
GCとか含めたら別スレッドが関与することはあるだろうけど
上でも言われてる通りスレッド立ち上げコスト削減も目的の一つだから態々その目的をふいにするような実装はしないだろう
2022/05/16(月) 10:27:55.73ID:I2zrNWyd
そらいちいちスレッド起動したらコストかかるけど、イベント処理なんて下位のライブラリで複数スレッド使っててもおかしくないでしょ
ま、上から気にすることじゃない
2022/05/16(月) 10:52:25.93ID:wZmcx9na
スレッド作るコストは高いけど一旦作ったら待機させときゃいいだけだし
2022/05/16(月) 10:59:43.36ID:l25MG5nC
>>870
幾多あるライブラリの話までし始めたらそらなんでもあるよ

>>871
スレッド立ち上げコスト削減は目的のうちの一つであってそれだけじゃない
むしろメインはlockを考慮しなくて済むって方じゃないかな
2022/05/16(月) 11:10:07.16ID:I2zrNWyd
>>872
だから、OSから見た話をしてるんやん
それに全然関係ない話でもない
ほんとお前馬鹿だよな
2022/05/16(月) 11:38:13.72ID:S4yLiTSd
>>873
OS関係ないし
お前が馬鹿
2022/05/16(月) 11:55:16.75ID:l25MG5nC
>>873
コルーチンにOS関係ある?
どういう仕組みでasync awaitしてるか理解してる?
2022/05/16(月) 12:21:21.64ID:ptnjik8+
C++の話しようぜ
2022/05/16(月) 12:24:34.24ID:I2zrNWyd
>>874
867の言ってることがわからんあの馬鹿を責めてくれや
2022/05/16(月) 12:30:07.34ID:f/Xu02FO
「俺のわからないことを書いている奴は馬鹿」という思考回路やばい。
2022/05/16(月) 12:35:37.80ID:l25MG5nC
>>877
そもそも言語の話にOSとか言い出すのが意味不明だし、強いて考えられるとしたら
int main() { for (int i = 0; i < 100; ++i) sleep(1); return 0; }
これもOSレベルで見たら単一スレッドで頭からケツまで動く保証はないっていうレベルの話がしたいのか?
こういう次元の話をしたいなら馬鹿としか思えないけど
2022/05/16(月) 12:48:57.95ID:IoIRdAU7
>>866
JavaScriptは基本的にはシングルスレッドなので並行(concurrent)に複数同時に動くが
workerを用いると別スレッドとなり並列(parallel)に複数同時に動く
ただしworker抜き前提で話すことも多いから前者のシングルスレッド前提でもいいと思う

>>870
言語のライブラリのレベルでそれが起きることはなく、あくまでも言語の仕様の範囲内に従う
しかし言語のランタイムではそれが起きるケースもあり、そこは別言語で書かれていてもよい
例えばJavaScriptは(別workerでなければ)シングルスレッドが保証されており、
複数の並行処理に対して厳格な競合対処をせずともプログラミングが可能だが、
内部ランタイムではI/O効率化のためにマルチスレッドが使われる実装もある
2022/05/16(月) 12:59:08.31ID:I2zrNWyd
馬鹿のひと、前もいた実装は関係ないおじさん?
他人は許せないが、なぜか自分自身は語ってしまうというあの馬鹿?
882デフォルトの名無しさん
垢版 |
2022/05/16(月) 15:52:25.18ID:WoUg3+5o
幼稚園児レベルの罵倒語を使うのは
技術的な議論で劣勢であることを自己申告しているようなものだ
優勢な者はそんなもの使わなくてもどうにでも料理できるからな
2022/05/16(月) 16:42:34.62ID:oTRlBgbW
彡 ⌒ ミ
( ・ω・) アレクサ髪の毛増やして
884デフォルトの名無しさん
垢版 |
2022/05/16(月) 18:53:11.20ID:mA14eCl1
>>883
有吉の髪をフサフサにしておきました。
885デフォルトの名無しさん
垢版 |
2022/05/16(月) 19:01:54.89ID:mA14eCl1
>>883
波平の髪を二本にしておきました。
886デフォルトの名無しさん
垢版 |
2022/05/16(月) 19:17:21.17ID:mA14eCl1
>>883
ドラえもんをアフロにしておきました。
2022/05/16(月) 19:33:17.66ID:haaJPjQj
アレクサ賢い
2022/05/16(月) 19:46:11.19ID:LMCkL6+j
>>885
海平になっちゃうやん...
https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_image_sp_entry/v1/user_image/58/29/b157690960da4c9d520ffa9f0d031fba.jpg
2022/05/18(水) 09:56:55.15ID:spPNFpZE
X11をオブジェクト指向とか寝言いうやつ居るんだな
あれはオブジェクト指向もどき
つまりオブジェクト指向ではない

アセンラで構造化もどきつくりましたレベルの話
2022/05/18(水) 10:04:46.99ID:s0yud5Is
オブジェクト指向としか言いようがない
891デフォルトの名無しさん
垢版 |
2022/05/18(水) 10:15:34.00ID:I2H5iqao
どんな作りになっていようがコード書いた本人が
オブジェクト指向だと言えばオブジェクト指向だし
構造化だと言えば構造化なんだよ
書く者の頭の中の考え方なんだから、
コードそのものの特徴から決めつけはできないし
ドヤるやつは大抵うんざりされてることに気がつかない
2022/05/18(水) 10:37:48.91ID:Q68htpiP
     /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ    ___
     /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、  /     ヽ
    /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/  リ!: ::/ノ  l`ヽl !: : |: : : :l: :l: リ / そ そ お \
   /: : ヽヾ/: : l/::l |/|||llllヾ,、  / |: :/ , -==、 l\:::|: : : :|i: | /   う う  前  |
.   /: : : //ヾ ; :|!: イ、||ll|||||::||    ノノ  イ|||||||ヾ、 |: ::|!: : イ: ::|/   な 思 が
   /: : ://: : :ヽソ::ヽl |{ i||ll"ン    ´   i| l|||l"l `|: /|: : /'!/l     ん う
 ∠: : : ~: : : : : : : :丶ゝ-―-      ,  ー=z_ソ   |/ ハメ;, :: ::|.   だ ん
   i|::ハ: : : : : : : : : : : 、ヘヘヘヘ     、  ヘヘヘヘヘ /: : : : : \,|.   ろ な
   |!l |: : : : : : : : :、: ::\    、-―-,      / : : :丶;,,;,:ミヽ   う  ら
     丶: :ハ、lヽ: :ヽ: : ::\__  `~ "      /: : ト; lヽ)   ゝ
       レ `| `、l`、>=ニ´        ,  _´ : :} `   /
         ,,、r"^~´"''''"t-`r、 _  -、 ´ヽノ \ノ   /    お ・
       ,;'~  _r-- 、__     ~f、_>'、_         |  で  前 ・
      f~  ,;"     ~"t___    ミ、 ^'t         |  は  ん ・
      ,"  ,~         ヾ~'-、__ ミ_ξ丶     |  な  中 ・
     ;'  ,イ ..          ヽ_   ヾ、0ヽ丶    l         /
     ( ;":: |: :: ..          .`,   ヾ 丶 !    \____/
     ;;;; :: 入:: :: ::      l`ー-、   )l   ヾ 丶
     "~、ソ:: :い:: :     \_  ノ ,    ヾ 丶
2022/05/18(水) 11:04:38.59ID:spPNFpZE
>>891
>ドヤるやつは大抵うんざりされてることに気がつかない

自分のことか?www
2022/05/18(水) 11:07:21.81ID:OWcrFw6t
いずれにせよオブジェクト指向を上回る手法が登場しない限りオブジェクト指向に対してマウントは取れない
2022/05/18(水) 11:21:09.24ID:spPNFpZE
予めメモリプールを設定しておくようなOSで
オブジェクト指向ありきでプログラム設計されてると思ってんのはおめでてーな
馬鹿の一つ覚えとも言う
2022/05/18(水) 11:34:46.54ID:s0yud5Is
プログラムがオブジェクト指向に則ってるか否かはOSで決定する、と
2022/05/18(水) 11:41:08.84ID:spPNFpZE
メモリプールを何の目的で用意するのかわかってないと
2022/05/18(水) 12:02:56.59ID:bslzKqYb
オブジェクトがメッセージを投げるという関係性でプログラムを構築するのが
オブジェクト指向ってもんだから、関数 (メンバ関数) をメッセージとみなすかもしれないし、
メッセージキューのようなものを作るかもしれない。
プログラミング言語の言語機能をどのようにプログラム構成の方法論に当てはめるかは自由度はある。
その意味では >>891 の考え方は真っ当なものだ。

でも、 C++ では C++ の常識というものもあるし、
ある程度は共通の認識を作っておかないと会話が成り立たんだろう。

基本的にはふんわりした概念でしかないからこの場合にオブジェクト指向
という言葉をどういう意味で使うことにするのかはこの場で擦りあわせろや。
2022/05/18(水) 12:12:57.18ID:KNHGZhRF
>>895
そもそもos全体がオブジェクト指向だなんて誰も言ってないし
2022/05/18(水) 12:22:21.26ID:CvWTVaQG
>>889
オブジェクトを「指向している」だろ。

指向「もどき」て何だよ。
何を「指向もどき」と言っているのか全然わからん。
2022/05/18(水) 16:21:01.44ID:SnLFYw7t
たしかにオブジェクト志向オブジェクト志向言いはじめたころは
「メッセージング」ってのがやたら強調されてたな
たぶんスモールトークの影響だろうけど
最近の「オブジェクト志向」はどっちかってとオブジェクトのかたまりを
どう型つけるか、階層化するかの言語構造のことを言いがちだけど
2022/05/18(水) 16:31:15.14ID:ZUGTejLE
指向だけどな
むしろメッセージングの重要性は高まってきてると思うけど、頭のいいひとにしか扱えない感じだな
馬鹿は階層にこだわるしかない
2022/05/18(水) 20:03:09.30ID:9cdFfz37
オブジェクト指向で利点はデータモデルを表現できることだろ
それが言語上で構造体なのかクラスベースなのかアクターなのかは大きな問題じゃない
904デフォルトの名無しさん
垢版 |
2022/05/18(水) 21:04:56.14ID:xACVFtZa
ウィンドウに開けとか閉じれとか大きくなれとか指示してれば、それはもうオブジェクト指向なので、ウィンドウ・システムとオブジェクト指向はだいぶ相性が良い。
2022/05/18(水) 21:06:39.10ID:AIFQ7kC9
>>891
hogehoge("ソポポポぉおおおおおん!");
↑これはオブジェクト指向で書いたプログラムです!!!!
って言ったらそういう解釈もありだなって思うの?

俺はオブジェクト指向アンチ!
絶対にオブジェクト指向なコードなんて書かね!といった直後に
const dialog = document.getElementById("dialog");
dialog.addEventListener("click", e =>{イベント処理});
みたいなコードを書いていたら、そのコードはオブジェクト指向ではないと解釈するの?

なわけないよね
906デフォルトの名無しさん
垢版 |
2022/05/18(水) 21:06:55.62ID:xACVFtZa
とうとうアジュール・アカウントを作ってしまった。
907デフォルトの名無しさん
垢版 |
2022/05/18(水) 21:07:48.89ID:xACVFtZa
よし。
今日からおれもアジュール民だ。
2022/05/18(水) 21:23:10.53ID:vRsLqKZH
ようこそクラウドの世界へ
909デフォルトの名無しさん
垢版 |
2022/05/18(水) 21:48:35.12ID:I2H5iqao
>>905
思うよ
するよ

思い込みの激しい人だな
2022/05/18(水) 22:00:38.20ID:AIFQ7kC9
>>909
嘘付くのやめていただけますか?

まず、hogehoge(略)をどのように捻くれた解釈をしたらオブジェクト指向に見えるのか解説してくれますか?
2022/05/18(水) 22:04:01.32ID:1ADDPTHW
struct HogeHoge {
void operator(const char *str) const {
std::cout << str;
}
};

HogeHoge hogehoge;
2022/05/18(水) 22:04:44.03ID:vRsLqKZH
>>909
思い込みの激しいのはお前だろw
>>892で指摘されてるじゃんw
2022/05/18(水) 22:05:27.40ID:1ADDPTHW
>>911
間違えた
2022/05/18(水) 22:09:27.02ID:V03o9uZn
プログラムを書いた人がオブジェクト指向設計ですと言っているものまでオブジ
ェクト指向ではないと否定するのは愚策言ったが最後、ではオブジェクト指向で
はない何なのかを述べねばならなくなるからなgoto否定論者にbreakは実質goto
とかあまつさえgotoを使ったプログラムを書いてgoto否定論者に対して正当性を
主張した場合に生じる惨状と同じで社会スキル的な意味で避けるべき理由が十分あ
2022/05/18(水) 22:09:33.95ID:spPNFpZE
>>900
オブジェクト指向もどき が オブジェクト指向でないのは
くじら が さかな で無いのと同じだ

馬鹿は知らないくじら構文
そして、応用系

オブジェクト指向もどき が オブジェクト指向でないのは
ヒトもどきのお前 が ヒトでないのと同じだ
2022/05/18(水) 22:11:26.32ID:PU9JUd8R
C++の話しようぜ
2022/05/18(水) 22:13:31.75ID:ZUGTejLE
c++スレでオブジェクト指向の話をするのは無理がある
918デフォルトの名無しさん
垢版 |
2022/05/18(水) 23:15:16.60ID:xACVFtZa
C++のオブジェクト指向全盛期は20年以上前だからね。
その後は黒魔術全盛期がやってきた。
2022/05/18(水) 23:37:02.53ID:PYepqFJi
Andrei Alexandrescuが悪い
2022/05/19(木) 00:10:17.97ID:JEoDteVp
組み込みC++だと普通にオブジェクト指向全盛期だけどな
uart1.write(data);
のような記述が当たり前になってきて有難い
2022/05/19(木) 02:53:53.60ID:m2mVV8oP
組み込みってマクロ大好きだからオブジェクト指向の書き方と相性悪いと思ってたけど最近はそうでもないの?
それともそう描いたときのuart1やwriteもマクロなの?
2022/05/19(木) 03:00:29.40ID:tMeCiyz0
そら組み込みっていってもいろんなレイヤがあるからね
2022/05/19(木) 05:20:52.31ID:UJCwwVid
>>910
fprintf(stdout, "そぼぼん");
みたいになってることもあるからな
obj.func(...);という構文は絶対条件じゃないんだよ
PostMessage(hWnd, WM_APP, 0, 0);なんてのだってオブジェクト指向だし
2022/05/19(木) 07:43:27.80ID:bqW40Z5X
組み込みはまだまだCが主流
2022/05/19(木) 07:46:20.72ID:ijZ+Z+2A
>>915
なら
ヒトもどきのお前 が ヒトでない
が偽だから
オブジェクト指向もどき が オブジェクト指向でない
も偽だな。
926デフォルトの名無しさん
垢版 |
2022/05/19(木) 07:47:19.60ID:Kexh9zXI
>>923
そう、Cの時代からオブジェクト指向はあったよな
2022/05/19(木) 07:50:32.12ID:sZfr5xXW
別に
objに対してfunc()というメッセージを送るのと、
PostMessage()という手続きにhWndを渡すのでは意味が違う
obj.func()をコンパイルしたらfunc(ptr, ...)とptrとして&objを渡すコード、みたいなものになるではないか、というのはそれはそうだが
そいつは意味を捨てているからにすぎないことは統語論的に考えたらワカル
例: getter
x = obj.getX(); // I get the value X となるようにobjに仕事させよという意味(CPUにobjを使役するよう命令している
x = getX(&obj); // get the value X from (/ by / with / in) the object obj、という意味(CPUにやれと命令している
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。